Advertisement
Guest User

Untitled

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