
CREATE TEMP TABLE import_raw (
                                 JedinecId text,
                                 Jméno text,
                                 PlemenoId text,
                                 PlemenoCode text,
                                 ChsId text,
                                 "Registrační číslo" text,
                                 "Zahraniční zápisové číslo" text,
                                 Pohlaví text,
                                 "Datum narození" text,
                                 "Tetovací číslo" text,
                                 "Číslo čipu" text,
                                 Barva text,
                                 Srst text,
                                 "Matka - JedinecId" text,
                                 "Otec - JedinecId" text,
                                 Výška text,
                                 Délka text,
                                 "Bonitační kód" text,
                                 "Tisknutelná poznámka" text,
                                 "Interní poznámka" text,
                                 Publikace text,
                                 "Důvod archivace" text,
                                 Úhyn text,
                                 "PK dle plemene" text,
                                 "Do systému z" text,
                                 "Datum tisku PP" text,
                                 "Zobrazování předků (pro REG účely)" text,
                                 Exportován text,
                                 "Před/Za" text
);

-- 2. Import surových dat
copy import_raw FROM '/opt/imports/69781621/importJedinci_FC1.csv' WITH (FORMAT csv, HEADER true, DELIMITER ';', ENCODING 'UTF8', QUOTE '"', NULL '');

select * from import_raw;

INSERT INTO pi_crm_cmku_dog (id_, uuid_, createdate, createdby, modifieddate, modifiedby,
                             breedid, name, fullname, breedingstationid, breedingstationnameposition, fullnumber, registrationnumber,
                             foreignregistrationnumber, sex, birthdate, tatoonumber, chipnumber, colorvalueid, furvalueid,
                             motherid, fatherid, height, bodylength, bonitacecode, printablenote,internalnote, deceased,
                             breedingclubid, breedingapproved,
                             studbook, litterclubid, addedfrom, czechnumber, pedigreeprintdate, publication, breedingstationname,
                             breedingstationpreposition)
SELECT CAST(ir.JedinecId as bigint),
       ir.JedinecId,
       NOW(),
       0,
       NOW(),
       0,
       b.id_,
       ir.Jméno,
       CONCAT(ir.Jméno, chs_name),
       CAST(ir.ChsId as bigint),
       'AFTER_NAME',
       case
           when ir."Registrační číslo" IS NOT NULL then ir."Registrační číslo"
           else ''
           end,
       ir."Registrační číslo",
       ir."Zahraniční zápisové číslo",
       case
           when ir.Pohlaví = 'Pes' then 'DOG'
           else 'BITCH'
           end,
       TO_DATE(ir."Datum narození",'%d.%m.%Y'),
       ir."Tetovací číslo",
       ir."Číslo čipu",
       color.id_,
       fur.id_,
       0,
       0,
       NULLIF(
               regexp_replace(
                       translate(regexp_replace(trim(ir.Výška), '[^0-9,\.]', '', 'g'), ',', '.'),
                       '\.(?=.*\.)', '', 'g'
                   ),
               ''
           )::double precision,
       NULLIF(
               regexp_replace(
                       translate(regexp_replace(trim(ir.Délka), '[^0-9,\.]', '', 'g'), ',', '.'),
                       '\.(?=.*\.)', '', 'g'
                   ),
               ''
           )::double precision,
       ir."Bonitační kód",
       ir."Tisknutelná poznámka",
       CONCAT(ir."Důvod archivace", ' | ',ir."Interní poznámka"),
       case
           when ir.Úhyn = 'Ano' then 'true'
           else 'false'
end,
       NULL,
       false,
       studbook = ir."PK dle plemene",
       NULL,
       ir."Do systému z",
       ir."Registrační číslo",
       NULL,
       ir.Publikace,
       NULL,
       NULL
FROM import_raw ir
     LEFT JOIN pi_crm_cmku_breed b ON ir.PlemenoCode = b.code_ and ir.PlemenoId = b.oldsystemid
     LEFT JOIN pi_crm_member chs ON chs.oldsystem = 'cmku-chs' and chs.oldmemberid = CAST(ir.ChsId as bigint)
     LEFT JOIN pi_crm_member_name chs_name ON chs.id_ = chs_name.memberid
     LEFT JOIN pi_crm_cmku_characteristicvalue color ON color.code_ = ir.Barva and color.characteristicid = 1
     LEFT JOIN pi_crm_cmku_characteristicvalue fur ON fur.code_ = ir.Srst and color.characteristicid = 2

;

truncate import_raw;
drop table import_raw;

delete
from pi_crm_cmku_dog
where;

UPDATE pi_crm_cmku_dog
SET fatherid = (select ir."Otec - JedinecId" FROM import_raw ir WHERE ir.JedinecId = id_)