Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ---------------------Выгрузка из ЦАФАП для Формирования Excel для Монитора-----------------
  2. SELECT distinct  
  3. case
  4.     when cba."attribute" #>> '{type,objectType}' = 'YARD_CONTAINER' then (o_mso.dt_id)::int
  5.     else (cba."attribute" #>> '{object,externalId}')::int
  6. end as "ID объекта",
  7. case
  8.     when cba."attribute" #>> '{type,objectType}' = 'ODH' and e_odh.cleaning_category != '9 категория' then 'ОДХ'
  9.     when cba."attribute" #>> '{type,objectType}' = 'YARD' then 'ДТ'
  10.     when cba."attribute" #>> '{type,objectType}' = 'ODH' and e_odh.cleaning_category = '9 категория' then 'ТПУ'
  11.     when cba."attribute" #>> '{type,objectType}' = 'YARD_CONTAINER' then 'ДТ'
  12. end as "Тип объекта",
  13. cba."attribute" #>> '{type,id}' as "ID нарушения",
  14. cba."attribute" #>> '{workflow,status}' as "Статус",
  15. cba."attribute" ->> 'system' as "Система",
  16. (cba."attribute" ->> 'date')::timestamp as "Дата начала",
  17. case
  18.     when '"COMPLETED"' = any(woo."Status_array") then (cba."attribute" ->> 'updated')::timestamp
  19.     else null
  20. end as "Дата завершения",
  21. e_odh.cleaning_category as "Категория уборки",
  22. (FLOOR(EXTRACT(epoch FROM (cba.attribute ->> 'updated')::TIMESTAMP - (cba.attribute ->> 'date')::TIMESTAMP)/3600))::int AS "Дельта",
  23. array_agg(cba.external_id) as "CAFAP_Issue_ID"
  24. FROM monitor_ba.cafap_ba cba
  25. LEFT OUTER JOIN monitor_dict.egip_odh e_odh ON ((cba."attribute" #>> '{object,externalId}')::int = e_odh.uid_nftn)
  26. LEFT OUTER join monitor_dict.ods_mso o_mso on ((cba."attribute" #>> '{object,externalId}')::int = (o_mso.mso_id)::int),
  27. (
  28. select distinct external_id as "CAFAP_Issue_ID",
  29. array_agg(elem -> 'to') as "Status_array"
  30. FROM monitor_ba.cafap_ba cba,
  31. jsonb_each(cba.attribute) as workflow,
  32. jsonb_each(workflow.value) as w_history,
  33. jsonb_array_elements(w_history.value) as elem
  34. where workflow.key = 'workflow'
  35. and w_history.key = 'history'
  36. and (cba."attribute" ->> 'date')::timestamp between '2019-03-17 00:00:00' and '2019-03-17 23:59:59'
  37. group by "CAFAP_Issue_ID"
  38. ) woo
  39. where cba.external_id = woo."CAFAP_Issue_ID"
  40. group by "ID объекта", "Тип объекта", "ID нарушения", "Статус", "Система", "Дата начала", "Дата завершения", "Категория уборки",  "Дельта";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement