-- Патч для учета размерностей для всех товарных операций в Татнефть.
-- размерность теперь применена в исходных данных и перерасчет цен, кол-ва, сумм не требуется
-- Значение k_mesure - принимается всегда равной 1 в расчетах.

-- ============================================================
--  Поток topers_ext 6.0.3 -> 6.0.4 
-- ============================================================
UPDATE upload.su_columns 
   set tablename   = null 
     , expression  = 'quantity/(COALESCE(1,NULLIF(k_mesure,0),1))'
     , description = 'количество товара (коэф. размерности всегда 1 для Татнефть)'
 WHERE id=2000500003 and colname ='trd_artcount';
 
UPDATE upload.su_columns 
   set tablename   = null
     , expression  = '(CASE WHEN flaged=1 THEN COALESCE(NULLIF(avg_purprice,0),NULLIF(purc_price,0),price) ELSE price END) * COALESCE(1,NULLIF(k_mesure,0),1)'
     , description = 'Цена продажи/среднезакупочная для артикула/инградиентов (коэф. размерности всегда 1 для Татнефть)'
 WHERE id=2000500006 and colname ='trd_artprice';
 
UPDATE upload.su_columns 
   set tablename   = null 
     , expression  = 'CASE WHEN flaged=1 THEN COALESCE(NULLIF(avg_purprice,0),NULLIF(purc_price,0),price) * quantity * COALESCE(1,NULLIF(k_mesure,0),1) ELSE (case when trantyp in (1,2,7) then sum_good when (trantyp=15 AND top_service=1) then (price * COALESCE(1, NULLIF(k_mesure,0),1)) ELSE (quantity * price) end) END'
     , description = 'сумма для артикула (коэф. размерности всегда 1 для Татнефть) и среднезакупочной ценой для инградиентов '
 WHERE id=2000500008 and colname ='trd_artsumma';

UPDATE upload.su_columns 
   set tablename   = null
     , expression  = 'purc_price*(COALESCE(1, NULLIF(k_mesure,0),1))'
     , description = 'закупочная цена (без ндс) (коэф. размерности всегда 1 для Татнефть)'
 WHERE id=2000500023 and colname ='top_purc_price';

UPDATE upload.su_columns 
   set tablename   = null
     , expression  = '(COALESCE(1,NULLIF(k_mesure,0),1)) * tax_val'
     , description = 'сумма ндс (коэф. размерности всегда 1 для Татнефть)'
 WHERE id=2000500039 and colname ='top_tax_calcsum';
 
UPDATE upload.su_columns 
   set tablename   = null 
     , expression  = 'prev_price*(COALESCE(1, NULLIF(k_mesure,0),1))'
     , description = 'Цена до операции (коэф. размерности всегда 1 для Татнефть)'
 WHERE id=2000500040 and colname ='top_prev_price';

UPDATE upload.su_columns
   set tablename   = null
     , expression  = '(CASE WHEN flaged=1 THEN COALESCE(NULLIF(avg_purprice,0),NULLIF(purc_price,0),price) ELSE (case when quantity!=0 then (sum_good/quantity) else price end) END) * COALESCE(1, NULLIF(k_mesure,0),1)'
     , description = 'Цена продажи/среднезакупочная для артикула/инградиентов (коэф. размерности всегда 1 для Татнефть)'
 WHERE id=2000500041 and colname ='trd_artsaleprice';

UPDATE upload.su_columns 
   set tablename   = 'upload.v_topers_ext'
     , expression  = 'k_mesure'
     , description = 'Коефициент привидения размерности товара (Не используется для Татнефть)'
 WHERE id=2000500045 and colname ='trd_mesure_koef';

UPDATE upload.su_columns 
   set tablename   = null 
     , expression  = 'count_before/(COALESCE(1,NULLIF(k_mesure,0),1))'
     , description = 'Кол-во на начало транзакции (коэф. размерности всегда 1 для Татнефть)'
 WHERE id=2000500028 and colname ='trd_ostcnt';

-- 
-- Обновление информации о потоке выгрузки
--
UPDATE upload.su_threads 
   SET bldnum=4
     , description = 'Товарные операции + остатки ТНП (Патч 2022-11-07 - коэф. размерности всегда 1 для Татнефть)'
 WHERE id = 20005000 and threadname = 'toper_ext';

-- ============================================================
--  END OF topers_ext
-- ============================================================
 

-- ============================================================
--  Поток tbegost 6.0.1 -> 6.0.2
-- ============================================================
UPDATE upload.su_columns 
   set tablename   = 'upload.v_tbegost' 
     , expression  = 'k_mesure'
     , description = 'Коэф. расчета размерности (Не используется для Татнефть)'
 WHERE id=1002400021 and colname ='dimkoef';
 
UPDATE upload.su_columns 
   set tablename   = null
     , expression  = 'count/(COALESCE(1, NULLIF(k_mesure,0),1))'
     , description = 'количество товара (коэф. размерности всегда 1 для Татнефть)'
 WHERE id=1002400007 and colname ='count';

-- 
-- Обновление информации о потоке выгрузки
--
UPDATE upload.su_threads 
   SET bldnum=2
     , description = 'Остатки товара на начало смены (Патч 2022-11-07 - коэф. размерности всегда 1 для Татнефть)'
 WHERE id = 10024000 and threadname = 'tbegost';

-- ============================================================
--  END OF tbegost
-- ============================================================
 

-- ============================================================
--  Поток toper 6.0.3 -> 6.0.4
-- ============================================================
UPDATE upload.su_columns 
   set tablename   = null
     , expression  = 'quantity/(COALESCE(1,NULLIF(k_mesure,0),1))'
     , description = 'количество товара (коэф. размерности всегда 1 для Татнефть)'
 WHERE id=1001700003 and colname ='trd_artcount';

UPDATE upload.su_columns 
   set tablename   = null
     , expression  = '(CASE WHEN flaged=1 THEN COALESCE(NULLIF(avg_purprice,0),NULLIF(purc_price,0),price) ELSE price END) * COALESCE(1, NULLIF(k_mesure,0),1)'
     , description = 'Цена продажи/среднезакупочная для артикула/инградиентов (коэф. размерности всегда 1 для Татнефть)'
 WHERE id=1001700006 and colname ='trd_artprice';
 
UPDATE upload.su_columns 
   set tablename   = null
     , expression  = 'CASE WHEN flaged=1 THEN COALESCE(NULLIF(avg_purprice,0),NULLIF(purc_price,0),price) * quantity * COALESCE(1, NULLIF(k_mesure,0),1) ELSE (case when trantyp in (1,2,7) then sum_good when (trantyp=15 AND top_service=1) then (price * COALESCE(1, NULLIF(k_mesure,0),1)) ELSE (quantity * price) end) END'
     , description = 'сумма для артикула (коэф. размерности всегда 1 для Татнефть) и среднезакупочной ценой для инградиентов'
 WHERE id=1001700008 and colname ='trd_artsumma';
 
UPDATE upload.su_columns 
   set tablename   = null 
     , expression  = 'purc_price*(COALESCE(1, NULLIF(k_mesure,0),1))'
     , description = 'закупочная цена (без ндс) (коэф. размерности всегда 1 для Татнефть)'
 WHERE id=1001700023 and colname ='top_purc_price';
 
UPDATE upload.su_columns 
   set tablename   = null
     , expression  = 'count_before/(COALESCE(1, NULLIF(k_mesure,0),1))'
     , description = 'Кол-во на начало транзакции (коэф. размерности всегда 1 для Татнефть)'
 WHERE id=1001700028 and colname ='trd_ostcnt';
 
UPDATE upload.su_columns 
   set tablename   = null 
     , expression  = '(COALESCE(1, NULLIF(k_mesure,0),1)) * tax_val' 
     , description = 'сумма ндс (коэф. размерности всегда 1 для Татнефть)'
 WHERE id=1001700039 and colname ='top_tax_calcsum';

UPDATE upload.su_columns 
   set tablename   = null
     , expression  = 'prev_price*(COALESCE(1, NULLIF(k_mesure,0),1))' 
     , description = 'Цена до операции (коэф. размерности всегда 1 для Татнефть)'
 WHERE id=1001700040 and colname ='top_prev_price';
 
UPDATE upload.su_columns 
   set tablename   = null
     , expression  = '(CASE WHEN flaged=1 THEN COALESCE(NULLIF(avg_purprice,0),NULLIF(purc_price,0),price) ELSE (case when quantity!=0 then (sum_good/quantity) else price end) END) * COALESCE(1, NULLIF(k_mesure,0),1)'
     , description = 'Цена продажи/среднезакупочная для артикула/инградиентов (коэф. размерности всегда 1 для Татнефть)'
 WHERE id=1001700041 and colname ='trd_artsaleprice';

UPDATE upload.su_columns 
   set tablename   = 'upload.v_topers'
     , expression  = 'k_mesure'
     , description = 'Коефициент привидения размерности товара (Не используется для Татнефть)'
 WHERE id=1001700045 and colname ='trd_mesure_koef';
 
-- 
-- Обновление информации о потоке выгрузки
--
UPDATE upload.su_threads 
   SET bldnum=4
     , description = 'Товарные оерации (без остатков) (Патч 2022-11-07 - коэф. размерности всегда 1 для Татнефть)'
 WHERE id = 10017000 and threadname = 'toper';

-- ============================================================
--  END OF toper
-- ============================================================

