Advertisement
tyomasun

Untitled

Aug 10th, 2015
352
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 5.42 KB | None | 0 0
  1.  [DBHost PID:
  2.    1046920510][ins-db-master.unix.tensor.ru:inside.tensor.ru]  Выражение:
  3.    WITH  cteMyOfficeDocs AS
  4.       (
  5.          -- Области видимости
  6.          SELECT  unnest ( current_setting ( 'sbis3.rights.myOfficeDocs' ) ::INTEGER[] ) deptId
  7.       )
  8.           , -- Иерархия по отделам с учетом областей видимости (см. startDeptFilter)
  9.        dept AS
  10.       (
  11.          WITH  RECURSIVE sp AS
  12.             (
  13.                SELECT  x."@Лицо" "Лицо"
  14.                                 ,  x."Раздел"
  15.                                 ,  x."Название"
  16.                                 ,  x."Раздел@"
  17.                   FROM  "СтруктураПредприятия" x
  18.                   WHERE  x."Тип" = 0
  19.                      AND  "Раздел" IS NULL
  20.                UNION  ALL
  21.                SELECT  z."@Лицо" "Лицо"
  22.                                 ,  z."Раздел"
  23.                                 ,  z."Название"
  24.                                 ,  z."Раздел@"
  25.                   FROM  sp y
  26.                      INNER  JOIN "СтруктураПредприятия" z
  27.                         ON  z."Раздел" = y."Лицо"
  28.                   WHERE  z."Тип" = 0
  29.             )
  30.          SELECT  *
  31.             FROM  sp
  32.       )
  33.           , -- Сотрудники отделов
  34.        deptUsers AS
  35.       (
  36.          SELECT  sv."ЧастноеЛицо" "Лицо"
  37.                       ,  sv."СтруктураПредприятия"
  38.                       ,  COALESCE ( p."Фамилия" || ' ' ,  '' ) || COALESCE ( substr ( p."Имя" ,  1 ,  1 ) || '.' ,  '' ) || COALESCE ( substr ( p."Отчество" ,  1 ,  1 ) || '.' ,  '' ) "Название"
  39.                       ,  sv."Пользователь"
  40.             FROM  "СвязиПользователя" sv
  41.                INNER  JOIN "ЧастноеЛицо" p
  42.                   ON  sv."ЧастноеЛицо" = p."@Лицо"
  43.             WHERE  sv."ЧастноеЛицо" IS NOT NULL
  44.                AND  sv."УправленческаяСтруктура"
  45.                AND  sv."$Черновик" IS NULL
  46.                AND  EXISTS
  47.                   (
  48.                      SELECT  NULL
  49.                         FROM  dept d
  50.                         WHERE  d."Лицо" = sv."СтруктураПредприятия"
  51.                   )
  52.       )
  53.           ,  T AS
  54.       (
  55.          SELECT  KK.*
  56.             FROM  "КонтрагентКонтакт" KK
  57.             WHERE  TRUE
  58.                AND  KK."Регламент" = 127
  59.                AND  TRUE
  60.             ORDER  BY KK."Дата" DESC NULLS LAST LIMIT 26 OFFSET 0
  61.       )
  62.    SELECT  KK."Контрагент" "ИдО"
  63.             ,  KK."Контрагент"
  64.             ,  KK."НазваниеКонтрагента" "Название"
  65.             ,  KK."Исполнитель"
  66.             ,  KK."СтруктураПредприятия"
  67.             ,  KK."Дата" "Дата"
  68.             ,  ev."Примечание"
  69.             ,  KK."Событие" "ПоследнийКонтакт"
  70.             ,  f."Название" "Стадия" -- подзапрос
  71.             ,  p."Название" "Итог"
  72.             ,  p."ФазаОснование"
  73.             ,  p."ФазаСледствие"
  74.             ,  p."Результат"
  75.             ,  COALESCE ( l."Название" ,  '' ) "Исполнитель.Название"
  76.             ,  COALESCE ( l2."Название" ,  '' ) "СтруктураПредприятия.Название"
  77.             ,  NULL :: INT "ИдУдаления"
  78.             ,  KK."Регламент"
  79.             ,  r."Название" "НазваниеРегламента"
  80.             ,  r."Флаги"[3] "Регламент.Удален"
  81.             ,  COALESCE ( ev."ТипКонтакта" ,  0 ) "ТипКонтакта"
  82.             ,  ev."ВидКонтакта"
  83.             ,
  84.       kont."ИНН"  "ИНН"
  85.                          ,
  86.       kont."КПП"  "КПП"
  87.                          ,  bell."@ЗвонокАгента" "Звонок"
  88.                          ,  bell."Запись"
  89.                          ,  bell."НаправлениеИсходящий"
  90.                          ,  res_bell."Название" "РезультатЗвонка"
  91.       FROM  T KK
  92.          LEFT  JOIN "Событие" ev
  93.             ON  ev."@Событие" = KK."Событие"
  94.          LEFT  JOIN "Регламент" r
  95.             ON  KK."Регламент" = r."@Регламент"
  96.          LEFT  JOIN "Переход" p
  97.             ON  p."@Переход" = ev."Переход"
  98.          LEFT  JOIN "Фаза" f
  99.             ON  f."@Фаза" = p."ФазаСледствие"
  100.          LEFT  JOIN "Лицо" l
  101.             ON  l."@Лицо" = KK."Исполнитель"
  102.          LEFT  JOIN "Лицо" l2
  103.             ON  l2."@Лицо" = KK."СтруктураПредприятия"
  104.          LEFT  JOIN "Контрагент"
  105.             kont
  106.             ON
  107.             kont."@Лицо"  = KK."Контрагент"
  108.          LEFT  JOIN "ЗвонокАгента" bell
  109.             ON  bell."@ЗвонокАгента" = ev."ЗвонокАгента"
  110.          LEFT  JOIN "РезультатЗвонка" res_bell
  111.             ON  res_bell."@РезультатЗвонка" = bell."РезультатЗвонка"
  112.       ORDER  BY "Дата" DESC NULLS LAST
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement