DROP PROCEDURE IF EXISTS sp_f036rukmoload;
DROP FUNCTION IF EXISTS sp_f036rukmoload;

CREATE PROCEDURE public.sp_f036rukmoload("Xml" bytea, "FileName" character varying)
LANGUAGE 'plpgsql'
AS $BODY$
	
declare T xml;
declare tempStrXml text;
BEGIN
	
	return;
	
	--  Такая же проблема как в F031
	--	Текущая версия процедуры создает дубли записей
	--	В справочнике сейчас подаются только актуальные записи, при изменении записи меняется дата начала действия, 
	--  из за этого стыковка записей по DATEBEG перестает нормально работать; UPDATE, INSERT неправильно работают,
	-- 	процедура видит что с такими DATEBEG записи нет и добавляет запись как новую.
	--  Процедуру переписал на Postgre, но пока закоментил
	
	
	-- select convert_from("Xml", 'WIN1251') into tempStrXml;
	
	-- select replace(tempStrXml, 'encoding="windows-1251"','')::xml into T; 
	
	-- DROP TABLE IF EXISTS temp_f036;

	-- CREATE TEMP TABLE temp_f036 as
	-- SELECT 
	-- 	IDMO,
	-- 	OID_MO,
	-- 	FAM_RUK,
	-- 	IM_RUK,
	-- 	OT_RUK,
	-- 	TYPE_RUK,
	-- 	CASE WHEN  DATEBEG  = '' THEN NULL ELSE DATEBEG::TIMESTAMP END , 
	-- 	CASE WHEN  DATEEND  = '' THEN NULL ELSE DATEEND::TIMESTAMP END 
	
	-- FROM
		
	-- XMLTABLE 
	-- 	(
	-- 		'/packet/zap' PASSING T 
	-- 		COLUMNS 
	-- 		IDMO text path './IDMO' null, 
	-- 		OID_MO text path './OID_MO' null, 
	-- 		FAM_RUK text path './FAM_RUK' null, 
	-- 		IM_RUK text path './IM_RUK' null, 
	-- 		OT_RUK text path './OT_RUK' null, 
	-- 		TYPE_RUK text path './TYPE_RUK' null, 
	-- 		DATEBEG text path './DATEBEG' null, 
	-- 		DATEEND text path './DATEEND' null 
	-- 	);


	-- UPDATE ies.t_f036_rukmo t1
	-- SET 
	--     fam_ruk = t2.fam_ruk,
	--     im_ruk = t2.im_ruk,
	--     ot_ruk = t2.ot_ruk,
	--     type_ruk = t2.type_ruk,
	--     dateend = t2.dateend
	-- FROM (
	--     SELECT * 
	--     FROM ies.t_f031_ermo f031 
	--     WHERE t1.idmo = f031.f031ermoid
	--     ORDER BY f031.idmo DESC
	--     LIMIT 1
	-- ) f031
	-- JOIN temp_f036 t2 ON t2.idmo = f031.idmo AND t2.datebeg = t1.datebeg
	-- WHERE t1.idmo = f031.f031ermoid;



	-- INSERT INTO ies.t_f036_rukmo
	--     (f036rukmoid, idmo, oid_mo, fam_ruk, im_ruk, 
	-- 	ot_ruk, type_ruk, datebeg, dateend)
	-- SELECT
	--     gen_random_uuid(), f031.f031ermoid, t1.oid_mo, t1.fam_ruk, t1.im_ruk, 
	-- 	t1.ot_ruk, t1.type_ruk, t1.datebeg, t1.dateend
	-- FROM temp_f036 t1
	-- JOIN LATERAL (
	--     SELECT *
	--     FROM ies.t_f031_ermo f031
	--     WHERE t1.idmo = f031.idmo 
	--     AND t1.datebeg >= f031.datebeg 
	--     AND (f031.dateend IS NULL OR t1.datebeg <= f031.dateend)
	--     ORDER BY f031.datebeg DESC 
	--     LIMIT 1
	-- ) f031 ON true
	-- LEFT JOIN ies.t_f036_rukmo t2 
	--     ON t2.idmo = f031.f031ermoid AND t2.datebeg = t1.datebeg
	-- WHERE t2.f036rukmoid IS NULL;


	-- DROP TABLE IF EXISTS temp_f036;
	
	-- return;
END
$BODY$;