aonestar
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
sp_get_endday_process_list_js
Parameters
Name
Type
Mode
endday_date
date
IN (DEFAULT NULL)
Definition
DECLARE current_status char(1); endday_data jsonb; system_date date = fn_system_date(); default_tasks jsonb; -- = $json$ -- [ -- {"id": "C01", "type": "precheck", "name": "Precheck - duplicate end day", "message": "", "status": "pending", "execute_time": null}, -- {"id": "C02", "type": "precheck", "name": "Precheck - non-extension guests", "message": "", "status": "pending", "execute_time": null}, -- {"id": "C03", "type": "precheck", "name": "Precheck - unposted room charges", "message": "", "status": "pending", "execute_time": null}, -- {"id": "C04", "type": "precheck", "name": "Precheck - unposted other charges", "message": "", "status": "pending", "execute_time": null}, -- {"id": "C05", "type": "precheck", "name": "Precheck - no-show deposits", "message": "", "status": "pending", "execute_time": null}, -- {"id": "C06", "type": "precheck", "name": "Precheck - auto print report", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P01", "type": "task", "name": "Switch Online Shift Off", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P02", "type": "task", "name": "Backup Data", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P03", "type": "task", "name": "Generate Data for AR", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P04", "type": "task", "name": "Generate Data for Income", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P05", "type": "task", "name": "Generate Accumulation Data - Agent Activity", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P06", "type": "task", "name": "Generate Accumulation Data - Department Summary", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P07", "type": "task", "name": "Generate Accumulation Data - Media Summary", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P08", "type": "task", "name": "Generate Accumulation Data - Reservation Type Summary", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P09", "type": "task", "name": "Generate Accumulation Data - Nationality Activity", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P10", "type": "task", "name": "Generate Accumulation Data - Origin Activity", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P11", "type": "task", "name": "Generate Accumulation Data - Sales Activity", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P12", "type": "task", "name": "Generate Accumulation Data - Room Activity", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P13", "type": "task", "name": "Generate Accumulation Data - Outstanding", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P14", "type": "task", "name": "Generate Accumulation Data - Recapitulate", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P15", "type": "task", "name": "Generate Accumulation Data - PLU Sales History", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P16", "type": "task", "name": "Update Folio''s Post Flag", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P17", "type": "task", "name": "Update Rate Change Schedule", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P18", "type": "task", "name": "Mark No-show Account", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P19", "type": "task", "name": "Clearing Data", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P20", "type": "task", "name": "Update Room Status", "message": "", "status": "pending", "execute_time": null} , -- {"id": "P21", "type": "task", "name": "Increment System Date", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P22", "type": "task", "name": "Print Trial Balance", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P23", "type": "task", "name": "Print Manager Report", "message": "", "status": "pending", "execute_time": null}, -- {"id": "P24", "type": "task", "name": "Switch Online Shift On", "message": "", "status": "pending", "execute_time": null} -- ] -- $json$; BEGIN current_status = (SELECT status FROM endday e WHERE e.endday_date = system_date); WITH tasks AS ( SELECT id, task_type AS "type", task_name AS "name", '' AS message, 'pending' AS status, NULL AS execute_time, NULL AS details FROM endday_tasks WHERE enabled ORDER BY id ) SELECT jsonb_agg(tasks) FROM tasks INTO default_tasks; --IF (COALESCE($1, system_date) = system_date) AND (current_status IS NULL OR current_status = 'E') THEN --IN ('S','E') IF ($1 IS NULL AND (current_status IN ('S','E') OR current_status IS NULL)) OR ($1 = system_date AND current_status IS NULL) THEN endday_data = jsonb_build_object( 'date', system_date, 'status', 'pending', 'start_time', null, 'finish_time', null, 'tasks', default_tasks ); ELSE WITH E AS ( SELECT a.endday_date AS "date", CASE a.status WHEN 'P' THEN 'processing' WHEN 'S' THEN 'success' WHEN 'E' THEN 'error' END AS status, a.start_time, a.finish_time, COALESCE(a.tasks, default_tasks) AS tasks FROM endday a WHERE a.endday_date = COALESCE($1, system_date) ) SELECT row_to_json(E)::jsonb FROM E INTO endday_data; END IF; RETURN endday_data; END