Merge pull request #324 from Kitzanos/feature/GEPAFINBE-234
GEPAFINBE-234 (Added Instructor Name in CSV)
This commit is contained in:
@@ -491,6 +491,7 @@ public class AssignedApplicationsDao {
|
|||||||
response.setCreatedDate(view.getCreatedDate());
|
response.setCreatedDate(view.getCreatedDate());
|
||||||
response.setUpdatedDate(view.getUpdatedDate());
|
response.setUpdatedDate(view.getUpdatedDate());
|
||||||
response.setEmailSendResponse(view.getEmailSendResponse());
|
response.setEmailSendResponse(view.getEmailSendResponse());
|
||||||
|
response.setAssignedUserName(view.getAssignedUserName());
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -115,4 +115,7 @@ public class ApplicationFormView {
|
|||||||
@Column(name = "call_start_time")
|
@Column(name = "call_start_time")
|
||||||
private LocalTime callStartTime;
|
private LocalTime callStartTime;
|
||||||
|
|
||||||
|
@Column(name = "INSTRUCTOR_NAME")
|
||||||
|
private String instructorName;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -67,4 +67,7 @@ public class AssignedApplicationsView{
|
|||||||
|
|
||||||
@Column(name = "HUB_ID")
|
@Column(name = "HUB_ID")
|
||||||
private Long hubId;
|
private Long hubId;
|
||||||
|
|
||||||
|
@Column(name="ASSIGNED_USER_NAME")
|
||||||
|
private String assignedUserName;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ public class AssignedApplicationViewResponse extends BaseBean {
|
|||||||
private Long protocolNumber;
|
private Long protocolNumber;
|
||||||
private String callName;
|
private String callName;
|
||||||
private String companyName;
|
private String companyName;
|
||||||
|
private String assignedUserName;
|
||||||
private List<EmailSendResponse> emailSendResponse;
|
private List<EmailSendResponse> emailSendResponse;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2996,4 +2996,12 @@
|
|||||||
<column name="allow_multiple_applications" type="BOOLEAN" defaultValueBoolean="false"></column>
|
<column name="allow_multiple_applications" type="BOOLEAN" defaultValueBoolean="false"></column>
|
||||||
</addColumn>
|
</addColumn>
|
||||||
</changeSet>
|
</changeSet>
|
||||||
|
|
||||||
|
<changeSet id="08-07-2025_RK_152945" author="Rajesh Khore">
|
||||||
|
<sqlFile dbms="postgresql"
|
||||||
|
path="db/dump/update_assigned_application_view_08_07_2025.sql"/>
|
||||||
|
|
||||||
|
<sqlFile dbms="postgresql"
|
||||||
|
path="db/dump/update_application_form_view_08_07_2025.sql"/>
|
||||||
|
</changeSet>
|
||||||
</databaseChangeLog>
|
</databaseChangeLog>
|
||||||
|
|||||||
@@ -0,0 +1,105 @@
|
|||||||
|
|
||||||
|
DROP VIEW IF EXISTS gepafin_schema.application_form_view ;
|
||||||
|
|
||||||
|
CREATE OR REPLACE VIEW gepafin_schema.application_form_view AS
|
||||||
|
SELECT app_data.id,
|
||||||
|
app_data.call_id,
|
||||||
|
app_data.application_form_id,
|
||||||
|
app_data.form_id,
|
||||||
|
app_data.application_id,
|
||||||
|
field_data.value ->> 'id'::text AS field_id,
|
||||||
|
COALESCE(( SELECT s.value ->> 'value'::text
|
||||||
|
FROM jsonb_array_elements(field_data.value -> 'settings'::text) s(value)
|
||||||
|
WHERE (s.value ->> 'name'::text) = 'label'::text
|
||||||
|
LIMIT 1), field_data.value ->> 'label'::text) AS field_label,
|
||||||
|
( SELECT (s.value ->> 'value'::text)::boolean AS bool
|
||||||
|
FROM jsonb_array_elements(field_data.value -> 'settings'::text) s(value)
|
||||||
|
WHERE (s.value ->> 'name'::text) = 'reportEnable'::text
|
||||||
|
LIMIT 1) AS report_enable,
|
||||||
|
COALESCE(( SELECT s.value ->> 'value'::text
|
||||||
|
FROM jsonb_array_elements(field_data.value -> 'settings'::text) s(value)
|
||||||
|
WHERE (s.value ->> 'name'::text) = 'reportHeader'::text
|
||||||
|
LIMIT 1), field_data.value ->> 'reportHeader'::text) AS report_header,
|
||||||
|
field_data.value ->> 'name'::text AS field_type,
|
||||||
|
CASE
|
||||||
|
WHEN (field_data.value ->> 'name'::text) = 'fileupload'::text THEN to_jsonb(( SELECT string_agg(d.file_name::text, ', '::text) AS string_agg
|
||||||
|
FROM unnest(string_to_array(app_data.field_value, ','::text)) file_ids(file_id)
|
||||||
|
JOIN gepafin_schema.document d ON d.id::text = file_ids.file_id
|
||||||
|
WHERE d.is_deleted = false))
|
||||||
|
WHEN (field_data.value ->> 'name'::text) = ANY (ARRAY['checkboxes'::text, 'select'::text, 'radio'::text]) THEN
|
||||||
|
CASE
|
||||||
|
WHEN app_data.field_value ~~ '[%'::text THEN to_jsonb(( SELECT string_agg(opt.value ->> 'label'::text, ', '::text) AS string_agg
|
||||||
|
FROM jsonb_array_elements_text(app_data.field_value::jsonb) selected_id(value)
|
||||||
|
CROSS JOIN LATERAL ( SELECT s.value
|
||||||
|
FROM jsonb_array_elements(field_data.value -> 'settings'::text) s(value)
|
||||||
|
WHERE (s.value ->> 'name'::text) = 'options'::text) options_setting,
|
||||||
|
LATERAL jsonb_array_elements(options_setting.value -> 'value'::text) opt(value)
|
||||||
|
WHERE (opt.value ->> 'name'::text) = selected_id.value))
|
||||||
|
ELSE to_jsonb(( SELECT opt.value ->> 'label'::text
|
||||||
|
FROM ( SELECT s.value
|
||||||
|
FROM jsonb_array_elements(field_data.value -> 'settings'::text) s(value)
|
||||||
|
WHERE (s.value ->> 'name'::text) = 'options'::text) options_setting,
|
||||||
|
LATERAL jsonb_array_elements(options_setting.value -> 'value'::text) opt(value)
|
||||||
|
WHERE (opt.value ->> 'name'::text) = app_data.field_value
|
||||||
|
LIMIT 1))
|
||||||
|
END
|
||||||
|
ELSE to_jsonb(app_data.field_value)
|
||||||
|
END AS field_value,
|
||||||
|
app_data.status,
|
||||||
|
app_data.amount_requested,
|
||||||
|
app_data.amount_accepted,
|
||||||
|
app_data.is_deleted,
|
||||||
|
app_data.hub_id,
|
||||||
|
app_data.user_id,
|
||||||
|
app_data.evaluation_version,
|
||||||
|
app_data.company_id,
|
||||||
|
c.company_name,
|
||||||
|
c.vat_number AS company_vat_number,
|
||||||
|
c.codice_ateco,
|
||||||
|
c.codice_fiscale AS company_codice_fiscale,
|
||||||
|
p.protocol_number,
|
||||||
|
b.codice_fiscale AS user_codice_fiscale,
|
||||||
|
COALESCE(NULLIF(TRIM(BOTH FROM concat(COALESCE(u.first_name, ''::character varying), ' ', COALESCE(u.last_name, ''::character varying))), ''::text), ''::text) AS user_name,
|
||||||
|
COALESCE( NULLIF(TRIM(BOTH FROM CONCAT(COALESCE(aauser.first_name, ''), ' ', COALESCE(aauser.last_name, ''))),''),'NA') AS instructor_name,
|
||||||
|
uwc.is_legal_representant AS legal_representative,
|
||||||
|
cl.name AS call_title,
|
||||||
|
cl.end_date AS call_end_date,
|
||||||
|
cl.end_time AS call_end_time,
|
||||||
|
cl.start_date AS call_start_date,
|
||||||
|
cl.start_time AS call_start_time
|
||||||
|
FROM ( SELECT a.id AS application_id,
|
||||||
|
a.call_id,
|
||||||
|
a.protocol_number,
|
||||||
|
af.id AS application_form_id,
|
||||||
|
af.form_id,
|
||||||
|
aff.id,
|
||||||
|
aff.field_value,
|
||||||
|
a.status,
|
||||||
|
a.amount_requested,
|
||||||
|
a.amount_accepted,
|
||||||
|
a.is_deleted,
|
||||||
|
a.hub_id,
|
||||||
|
a.user_id,
|
||||||
|
a.evaluation_version,
|
||||||
|
a.created_date,
|
||||||
|
a.company_id,
|
||||||
|
aff.field_id,
|
||||||
|
f.content
|
||||||
|
FROM gepafin_schema.application a
|
||||||
|
JOIN gepafin_schema.application_form af ON af.application_id = a.id
|
||||||
|
JOIN gepafin_schema.application_form_field aff ON aff.application_form_id = af.id
|
||||||
|
JOIN gepafin_schema.form f ON f.id = af.form_id
|
||||||
|
WHERE a.is_deleted = false) app_data
|
||||||
|
CROSS JOIN LATERAL ( SELECT jsonb_array_elements.value
|
||||||
|
FROM jsonb_array_elements(app_data.content::jsonb) jsonb_array_elements(value)
|
||||||
|
WHERE (jsonb_array_elements.value ->> 'id'::text) = app_data.field_id::text) field_data(value)
|
||||||
|
LEFT JOIN gepafin_schema.call cl ON app_data.call_id = cl.id
|
||||||
|
LEFT JOIN gepafin_schema.company c ON app_data.company_id = c.id
|
||||||
|
LEFT JOIN gepafin_schema.protocol p ON app_data.protocol_number = p.id
|
||||||
|
LEFT JOIN gepafin_schema.gepafin_user u ON app_data.user_id = u.id
|
||||||
|
LEFT JOIN gepafin_schema.user_with_company uwc ON app_data.user_id = uwc.user_id AND app_data.company_id = uwc.company_id AND uwc.is_deleted = false
|
||||||
|
LEFT JOIN gepafin_schema.beneficiary b ON u.beneficiary_id = b.id
|
||||||
|
LEFT JOIN gepafin_schema.assigned_applications aa ON app_data.application_id = aa.application_id
|
||||||
|
LEFT JOIN gepafin_schema.gepafin_user aauser ON aa.user_id = aauser.id
|
||||||
|
WHERE app_data.id IS NOT NULL AND (app_data.status::text <> ALL (ARRAY['DRAFT'::character varying::text, 'AWAITING'::character varying::text, 'READY'::character varying::text]))
|
||||||
|
ORDER BY app_data.id, (field_data.value ->> 'id'::text);
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
|
||||||
|
DROP VIEW IF EXISTS gepafin_schema.assigned_applications_view ;
|
||||||
|
|
||||||
|
CREATE OR REPLACE VIEW gepafin_schema.assigned_applications_view AS
|
||||||
|
SELECT
|
||||||
|
-- From assigned_applications
|
||||||
|
aa.id AS id,
|
||||||
|
aa.user_id AS user_id,
|
||||||
|
aa.status AS status,
|
||||||
|
aa.created_date AS created_date,
|
||||||
|
aa.updated_date AS updated_date,
|
||||||
|
aa.is_deleted AS is_deleted,
|
||||||
|
|
||||||
|
-- From application
|
||||||
|
a.id AS application_id,
|
||||||
|
a.hub_id as hub_id,
|
||||||
|
a.status AS application_status,
|
||||||
|
a.submission_date AS submission_date,
|
||||||
|
ae.end_date AS evaluation_end_date,
|
||||||
|
a.ndg AS ndg,
|
||||||
|
a.appointment_id AS appointment_id,
|
||||||
|
|
||||||
|
-- From protocol (OneToOne)
|
||||||
|
p.protocol_number AS protocol_number,
|
||||||
|
|
||||||
|
-- From call (ManyToOne)
|
||||||
|
cl.name AS call_name,
|
||||||
|
|
||||||
|
-- From company (ManyToOne)
|
||||||
|
c.company_name AS company_name,
|
||||||
|
ae.email_send_response AS email_send_response,
|
||||||
|
COALESCE(NULLIF(TRIM(BOTH FROM concat(COALESCE(u.first_name, ''::character varying), ' ', COALESCE(u.last_name, ''::character varying))), ''::text), ''::text) AS assigned_user_name
|
||||||
|
|
||||||
|
|
||||||
|
FROM gepafin_schema.assigned_applications aa
|
||||||
|
|
||||||
|
-- Join application (ManyToOne from assigned_applications)
|
||||||
|
LEFT JOIN gepafin_schema.application a
|
||||||
|
ON aa.application_id = a.id
|
||||||
|
AND (a.is_deleted IS FALSE OR a.is_deleted IS NULL)
|
||||||
|
|
||||||
|
-- Join application_evaluation (application_id matches + not deleted)
|
||||||
|
LEFT JOIN gepafin_schema.application_evaluation ae
|
||||||
|
ON ae.application_id = a.id
|
||||||
|
AND (ae.is_deleted IS FALSE OR ae.is_deleted IS NULL)
|
||||||
|
|
||||||
|
-- Join protocol (OneToOne from application)
|
||||||
|
LEFT JOIN gepafin_schema.protocol p
|
||||||
|
ON a.protocol_number = p.id
|
||||||
|
|
||||||
|
-- Join call (ManyToOne from application)
|
||||||
|
LEFT JOIN gepafin_schema.call cl
|
||||||
|
ON a.call_id = cl.id
|
||||||
|
|
||||||
|
-- Join company (ManyToOne from application)
|
||||||
|
LEFT JOIN gepafin_schema.company c
|
||||||
|
ON a.company_id = c.id
|
||||||
|
|
||||||
|
LEFT JOIN gepafin_schema.gepafin_user u ON aa.user_id = u.id
|
||||||
|
|
||||||
|
|
||||||
|
WHERE aa.is_deleted IS FALSE OR aa.is_deleted IS NULL;
|
||||||
Reference in New Issue
Block a user