Untitled

mail@pastecode.io avatar
unknown
plain_text
a month ago
8.4 kB
1
Indexable
Never
           select EA.ABONENT_ID,
                   ea.ID                  as EAI_INVOICE_ID,
                   ea.EAI_INVOICE_TYPE_ID as INVOICE_TYPE_ID,
                   ea.RELATED_EAI_INVOICE_ID,
                   ea.turnover_date       as TURNOVER_DATE,
                   ea.REGISTRATIONNUMBER  AS REGISTRATIONNUMBER,
                   cs.TIN                 as UIN,
                   sum(pr.PRICE_WITH_TAX) over (partition by ea.ID)        as total_sum,
                   -- Раздел А. Общий раздел --
                   ea.REGISTRATIONNUMBER  AS FIELD_1,     -- ПУНКТ 1
                   ea.INVOICE_NUM         AS FIELD_1_1,   -- ПУНКТ 1.1
                   TO_CHAR(ea.INVOICE_DATE, 'DD.MM.YYYY')        AS FIELD_2,     -- ПУНКТ 2
                   ea.turnover_date       as FIELD_3,     -- ПУНКТ 3
                   CASE
                       WHEN ea.EAI_INVOICE_TYPE_ID = 2 then 1
                       ELSE 0
                       END                AS FIELD_4,     -- ПУНКТ 4 (ИСПРАВЛЕННАЯ СЧЕТ ФАКТУРА) boolean
                   CASE
                       WHEN ea.EAI_INVOICE_TYPE_ID = 2 THEN
                           CASE
                               WHEN rea.INVOICE_DATE IS NOT NULL THEN rea.INVOICE_DATE
                               ELSE NULL
                               END
                       ELSE NULL
                       END                AS FIELD_4_1,   -- ПУНКТ 4.1

                   CASE
                       WHEN ea.EAI_INVOICE_TYPE_ID = 2 THEN
                           CASE
                               WHEN rea.INVOICE_NUM IS NOT NULL THEN rea.INVOICE_NUM
                               ELSE NULL
                               END
                       ELSE NULL
                       END                AS FIELD_4_2,   -- ПУНКТ 4.2

                   CASE
                       WHEN ea.EAI_INVOICE_TYPE_ID = 2 THEN
                           CASE
                               WHEN rea.REGISTRATIONNUMBER IS NOT NULL THEN rea.REGISTRATIONNUMBER
                               ELSE NULL
                               END
                       ELSE NULL
                       END                AS FIELD_4_3,   -- ПУНКТ 4.3
                   -- ПУНКТ 5, 5.1, 5.2, 5.3 НЕ ЗАПОЛНЯЕТСЯ ТАК КАК НЕТ ДАННЫХ --
                   -- Раздел В. Реквизиты поставщика --
                   sl.TIN                 as FIELD_6,     -- ПУНКТ 6
                   -- ПУНКТ 6.1, 6.0 не заполняется --
                   sl.NAME                as FIELD_7,     -- ПУНКТ 7
                   -- ПУНКТ 7.1? не заполняется--
                   sl.ADDRESS             as FIELD_8,     -- ПУНКТ 8
                   -- ПУНКТ 9 должен быть пустым
                   sl.CERTIFICATE_SERIES  as FIELD_9_1,   -- ПУНКТ 9.1
                   sl.CERTIFICATE_NUM     as FIELD_9_2,   -- ПУНКТ 9.2
                   -- ПУНКТ 10 не заполняется --
                   -- ПУНКТ 11 не заполняется --
                   -- Раздел В1. Банковские реквизиты поставщика --
                   sl.KBE                 as FIELD_12,    -- ПУНКТ 12
                   sl.IIK                 as FIELD_13,    -- ПУНКТ 13
                   sl.BIK                 as FIELD_14,    -- ПУНКТ 14
                   sl.BANK                as FIELD_15,    -- ПУНКТ 15
                   -- Раздел С. Реквизиты получателя --
                   cs.TIN                 AS FIELD_16,    -- ПУНКТ 16
                   -- ПУНКТ 16.1, 16.0 не заполняется --
                   cs.NAME                AS FIELD_17_RU, -- ПУНКТ 17 RU
                   cs.NAME_KZ             AS FIELD_17_KZ, -- ПУНКТ 17 KZ
                   -- ПУНКТ 17.1 не заполняется --
                   CS.ADDRESS             AS FIELD_18_RU, -- ПУНКТ 18 RU
                   CS.ADDRESS_KZ          AS FIELD_18_KZ, -- ПУНКТ 18 KZ
                   'KZ'                   AS FIELD_18_1,  -- ПУНКТ 18.1
                   -- ПУНКТ 19 не заполняется --
                   CASE
                       WHEN cs.EAI_CUSTOMER_TYPE IS NOT NULL THEN 1

                       ELSE 0
                       END                AS FIELD_20_E,  --ПУНКТ 20 boolean
                   -- Раздел Е. Договор (контракт) --
                   1                 AS FIELD_27_1,  -- ПУНКТ 27.1 boolean
                   0                AS FIELD_27_2,  -- ПУНКТ 27.2 boolean
                   EA.DT_CONTRACT_NUM     AS FIELD_27_3,  -- ПУНКТ 27.3
                   EA.DT_CONTRACT_DATE    AS FIELD_27_4,  -- ПУНКТ 27.4
                   SL.DELIVERY_TERM       AS FIELD_28,    -- ПУНКТ 28
                   -- ПУНКТ 29 не заполняется --
                   -- ПУНКТ 30, 30.1, 30.2 не заполняется --
                   -- ПУНКТ 31, 31.1 не заполняется --
                   -- Раздел F. Реквизиты документов, подтверждающих поставку товаров, работ, услуг --
                   -- ПУНКТ 32, 32.1, 32.2 не заполняется --
                   -- Раздел G. Данные по товарам, работам, услугам --
                   -- ПУНКТ ПРОДУКТОВ 1 ЗАПОЛНЯЕТСЯ АВТОМАТИЧЕСКИ ЦИФРАМИ ПО ВОЗРАСТАНИЮ
                   6                      as PR_FIELD_2,  -- ПУНКТ ПРОДУКТОВ 2
                   pr.DESCRIPTION         as PR_FIELD_3,  -- ПУНКТ ПРОДУКТОВ 3
                   -- ПУНКТ ПРОДУКТОВ 3.1, 4, 5 НЕ ЗАПОЛНЯЕТСЯ --
                   pr.QUANTITY            as PR_FIELD_6,  -- ПУНКТ ПРОДУКТОВ 6
                   -- ПУНКТ ПРОДУКТОВ 7 НЕ ЗАПОЛНЯЕТСЯ --
                   pr.PRICE_WITHOUT_TAX      PR_FIELD_8,  -- ПУНКТ ПРОДУКТОВ 8
                   -- ПУНКТ ПРОДУКТОВ 9, 10 НЕ ЗАПОЛНЯЕТСЯ --
                   pr.PRICE_WITHOUT_TAX      PR_FIELD_11, -- ПУНКТ ПРОДУКТОВ 11
                   pr.NDS_RATE            as PR_FIELD_12, -- ПУНКТ ПРОДУКТОВ 12
                   pr.NDS_AMOUNT          as PR_FIELD_13,
                   pr.PRICE_WITH_TAX      as PR_FIELD_14,
                   -- ПУНКТ ПРОДУКТОВ 15, 16 НЕ ЗАПОЛНЯЕТСЯ --
                   1                      as PR_FIELD_17, -- ПУНКТ ПРОДУКТОВ 2
            -- ПУНКТ ПРОДУКТОВ 18 НЕ ЗАПОЛНЯЕТСЯ --
                   -- ПУНКТ 33 не заполняется --
                   'KZT'                  AS FIELD_33_1,  -- ПУНКТ 33.1
                   -- ПУНКТ 32.2 -  не заполняется  --
                   -- Раздел G. Данные по товарам, работам, услугам --
                   -- Раздел L. Сведения по ЭЦП --
                   -- ПУНКТ 44 не заполняется --
                   EA.SIGNATURE_BASE64    AS FIELD_45,    -- ПУНКТ 45
                   US.FULL_USER_NAME      AS FIELD_46     -- ПУНКТ 46
            from EAI.EAI_INVOICE ea
                     left join eai.EAI_INVOICE rea
                               on ea.RELATED_EAI_INVOICE_ID = rea.ID -- для связи исправленной ЭСФ с первичной
                     left join eai.eai_product pr on pr.eai_invoice_id = ea.id
                     left join eai.eai_customer cs on cs.eai_invoice_id = ea.id
                     left join eai.eai_user_map m on m.id = ea.user_map_id
                     left join eai.eai_sellers sl on sl.id = m.eai_sellers_id
                     left join eai.eai_user us on us.id = m.eai_user_id
            where ea.eai_invoice_status_type in ('CREATED', 'DELIVERED')
                    and ea.registrationnumber is not null
Leave a Comment