Lietotāja rīki

Vietnes rīki



lv:procedures

Šī ir veca dokumenta versija!


--server DIRECTO15B
USE ocra_getz_lv
GO


ALTER      PROCEDURE [dbo].[xml_core_SISSE_webshop] AS
DECLARE @klient_kood bigint, @kood bigint, @nimitmp nvarchar(255),@addrtmp nvarchar(255),@konttmp nvarchar(255), @koodid varchar(1000)
declare @ladu nvarchar(32), @seeria nvarchar(32), @objekt nvarchar(32), @s1 int, @s2 int, @webid nvarchar(32), @webtype nvarchar(32)
declare @number int, @maa int, @kmk nvarchar(32), @x int, @kinnitatud int
DECLARE @myyja nvarchar(32), @aeg datetime
declare @key nvarchar(32), @appkey nvarchar(64), @appkey_setting nvarchar(64)
declare @result1 xml, @result2 nvarchar(max)
declare @artikkel nvarchar(32), @id_exist int
declare @kl_kood nvarchar(32), @nimi nvarchar(255), @kustuta int
declare @ag datetime
declare @err nvarchar(32)
select @ag =getdate()
set @key=CONVERT(nvarchar,getdate())
update in_webshop_tell_tellimused set x=@key where x is null
update xml_in_imago_tellimused set x=@key where x is null
set @koodid=''

select @appkey_setting=setting from settings where ID='xmlcore_key'

create table #results
(number nvarchar(32), tyyp nvarchar(32), result int, descr nvarchar(255), submittype nvarchar(32))



--vastuvotmine, kogused
--SELECT * FROM in_webshop_tell_tellimused WHERE number = '2000117'
-- DELETE FROM in_webshop_tell_tellimused WHERE number = '2000117'
-- UPDATE in_webshop_tell_tellimused SET x = null WHERE number = '2000117'
-- EXEC [dbo].[xml_core_SISSE_webshop]

--sales order from E-agent [LV software]
declare tellimused cursor for select number, appkey from in_webshop_tell_tellimused with(nolock) where x=@key
open tellimused
FETCH NEXT FROM tellimused INTO @webid, @appkey
WHILE @@FETCH_STATUS = 0
BEGIN
	if ISNULL(@appkey,'')!=ISNULL(@appkey_setting,'')
	begin
			insert into #results values (@appkey, 'ORDER', 1, 'Incorrect key','Orders')

	end
	
	else
	begin

		select @id_exist=count(*) from tell_tellimused with(nolock) where number=@webid
		if @id_exist=0
		BEGIN
			set @number=@webid
			
			select @maa=maa from kliendid with(nolock) where kood=(select klient_kood from in_webshop_tell_tellimused with(nolock) where number=@number)

			insert into tell_tellimused (number, myyja, aeg,  klient_kood, arvetasub,  tingimus, ladu, klient_nimi, lahetusviis
				,  kommentaar, valuuta, kurssbv1 
				 ,esindaja, telefon, aadress1, aadress2, aadress3
				 ,lahetusaadress1, lahetusaadress2, lahetusaadress3
				 ,klient_nimi_lahetusel
				 , ts, cu, Field57, objekt
				 ,hinnakiri, lahetusaeg, lisa_field1
				 ) 
				SELECT @number
				
				,ISNULL(myyja, 'XML')
				, aeg
				,	klient_kood
				,  isnull((select top 1 arvetasub from kliendid where kood=klient_kood),arvetasub)
				, isnull(tingimus,(select TOP 1 tingimus from kliendid with(nolock) where kood=klient_kood))
				, isnull(ladu,'GAL')
				, isnull(klient_nimi,(select TOP 1 nimi from kliendid with(nolock) where kood=klient_kood))
				, isnull(tingimus,(select TOP 1 tingimus from kliendid with(nolock) where kood=klient_kood))
				,kommentaar
				, 'EUR', 1
				, isnull(esindaja,(select TOP 1 kontakt from kliendid with(nolock) where kood=klient_kood))
				, isnull(telefon,(select TOP 1 telefon from kliendid with(nolock) where kood=klient_kood))
				, isnull(aadress1,(select TOP 1 aadress1 from kliendid with(nolock) where kood=klient_kood))
				, isnull(aadress2,(select TOP 1 aadress2 from kliendid with(nolock) where kood=klient_kood))
				, isnull(aadress3,(select TOP 1 aadress3 from kliendid with(nolock) where kood=klient_kood))
				, isnull(lahaadress1,(select TOP 1 lahaadress1 from kliendid with(nolock) where kood=klient_kood))
				, isnull(lahaadress2,(select TOP 1 lahaadress2 from kliendid with(nolock) where kood=klient_kood))
				, isnull(lahaadress3,(select TOP 1 lahaadress3 from kliendid with(nolock) where kood=klient_kood))
				, isnull(klientnimi_lahetusel,(select TOP 1 nimi_lahetusel from kliendid v where kood=klient_kood))

				, GETDATE(), 'XML'
				, isnull(email,(select TOP 1 email from kliendid with(nolock) where kood=klient_kood))
				, isnull(objekt,(select TOP 1 objekt from kliendid with(nolock) where kood=klient_kood))
				,(select TOP 1 hinnakiri from kliendid with(nolock) where kood=klient_kood)
				, lahetusaeg
				, isnull(lisa_field1,(select TOP 1 sisu from yld_data with(nolock) where kood='TRANSPORTER' AND KLASS='KLIENT' AND kaart=klient_kood))
				FROM in_webshop_tell_tellimused with(nolock) where number=@number

			-- UPDATE in_tell_tellimused_read SET artikkel = ISNULL((select artikkel from artiklid_hankija_artiklid with(nolock) where hankija_artikkel = in_tell_tellimused_read.artikkel),artikkel) WHERE NOT EXISTS(SELECT top 1 kood FROM artiklid WITH(nolock) WHERE kood = in_tell_tellimused_read.artikkel)

			insert into tell_tellimused_read 
			(number,yhik, artikkel, variant, konto, kogus, field8, yhikuhind, summa, ostuhind, nimetus, kmkood, r_kommentaar, rn, rv)
			select @number
            ,isnull((select top 1 yhik from artiklid where kood=artikkel),'gb')
			, artikkel
			,variant
			, isnull((select konto_myyk from artiklid where kood=in_webshop_tell_tellimused_read.artikkel),(select TOP 1 myyk_eestis from artikliklassid with(nolock) where kood=(select TOP 1 klass from artiklid where kood=artikkel)))
			, kogus
            , case 
             when EXISTS (select top 1 ale from mr_hinnavalemid_read with(nolock) where mida='8' and kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number) and ((select aeg from tell_tellimused with(nolock) where number=@number) between aeg1 and aeg2 ) and in_webshop_tell_tellimused_read.artikkel=artikkel or mida='8' and kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number) and(aeg1 is null and aeg2 is null) and in_webshop_tell_tellimused_read.artikkel=artikkel)
                then
                  ('0')

            when ((select top 1 ale from mr_hinnavalemid_read where mr_hinnavalemid_read.artikkel =in_webshop_tell_tellimused_read.artikkel and mida='0' and kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number) and ((select aeg from tell_tellimused with(nolock) where number=@number) between aeg1 and aeg2 )) is NOT null) 
			
			then (select top 1 ale from mr_hinnavalemid_read where mr_hinnavalemid_read.artikkel =in_webshop_tell_tellimused_read.artikkel and mida='0' and kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number) and ((select aeg from tell_tellimused with(nolock) where number=@number) between aeg1 and aeg2 )) 

when ((select top 1 ale from mr_hinnavalemid_read where mr_hinnavalemid_read.artikkel =in_webshop_tell_tellimused_read.artikkel and mida='0' and kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number) and AEG1 IS NULL AND AEG2 IS NULL) is NOT null) 
			
			then (select top 1 ale from mr_hinnavalemid_read where mr_hinnavalemid_read.artikkel =in_webshop_tell_tellimused_read.artikkel and mida='0' and kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number)  AND  aeg1 IS NULL and aeg2 IS NULL )

			--when ((select top 1 ale from mr_hinnavalemid_read where mr_hinnavalemid_read.artikkel =in_webshop_tell_tellimused_read.artikkel and mida='0' and kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number) and ((select aeg from tell_tellimused with(nolock) where number=@number) between aeg1 and aeg2 )) is null 
			--and (select top 1 ale from mr_hinnavalemid_read where mr_hinnavalemid_read.artikkel =in_webshop_tell_tellimused_read.artikkel and mida='0' and kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number) and (aeg1 is NOT null and aeg2 is NOT null ) AND  ((select top 1 AEG from tell_tellimused with(nolock) where number=@number) between AEG1 AND AEG2)) is not null) 
			
			--then (select top 1 ale from mr_hinnavalemid_read where mr_hinnavalemid_read.artikkel =in_webshop_tell_tellimused_read.artikkel and mida='0' and kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number) and (aeg1 is NOT null and aeg2 is NOT null ) AND  ((select top 1 AEG from tell_tellimused with(nolock) where number=@number) between AEG1 AND AEG2))
            
			when 
               ((select top 1 ale from mr_hinnavalemid_read
                 inner join artiklid ON artiklid.kood=in_webshop_tell_tellimused_read.artikkel 
                 inner join tell_tellimused ON tell_tellimused.number=@number
                 where mr_hinnavalemid_read.klass=artiklid.klass and mida='0'
                 and mr_hinnavalemid_read.kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number)
                 and 
                 ((tell_tellimused.aeg) between mr_hinnavalemid_read.aeg1 and mr_hinnavalemid_read.aeg2 )) is not null)
                 
				 then (select top 1 ale from mr_hinnavalemid_read
                 inner join artiklid ON artiklid.kood=in_webshop_tell_tellimused_read.artikkel 
                 inner join tell_tellimused ON tell_tellimused.number=@number
                 where mr_hinnavalemid_read.klass=artiklid.klass and mida='0'
                and mr_hinnavalemid_read.kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number)
                 and 
                 ((tell_tellimused.aeg) between mr_hinnavalemid_read.aeg1 and mr_hinnavalemid_read.aeg2 ))
                
				 when ((select top 1 ale from mr_hinnavalemid_read
                 inner join artiklid ON artiklid.kood=in_webshop_tell_tellimused_read.artikkel 
                 inner join tell_tellimused ON tell_tellimused.number=@number
                 where mr_hinnavalemid_read.klass=artiklid.klass and mida='0'
                 and mr_hinnavalemid_read.kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number)
                 and 
                 ((tell_tellimused.aeg) between mr_hinnavalemid_read.aeg1 and mr_hinnavalemid_read.aeg2 )) is  null and (select top 1 ale from mr_hinnavalemid_read
                 inner join artiklid ON artiklid.kood=in_webshop_tell_tellimused_read.artikkel 
                 inner join tell_tellimused ON tell_tellimused.number=@number
                 where mr_hinnavalemid_read.klass=artiklid.klass and mida='0'
                 and mr_hinnavalemid_read.kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number)
                 and 
                 (mr_hinnavalemid_read.aeg1 is null and  mr_hinnavalemid_read.aeg2 is null )) is not null)
                 then (select top 1 ale from mr_hinnavalemid_read
                 inner join artiklid ON artiklid.kood=in_webshop_tell_tellimused_read.artikkel 
                 inner join tell_tellimused ON tell_tellimused.number=@number
                 where mr_hinnavalemid_read.klass=artiklid.klass and mida='0'
                 and mr_hinnavalemid_read.kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number)
                 and 
                 (mr_hinnavalemid_read.aeg1 is null and  mr_hinnavalemid_read.aeg2 is null )) END
                 --  when 
              --  ((select top 1 ale from mr_hinnavalemid_read 
                --  inner join artiklid ON artiklid.kood=in_webshop_tell_tellimused_read.artikkel
             --     where mr_hinnavalemid_read.klass=artiklid.klass
             --     and 
             --     ((select aeg from tell_tellimused with(nolock) where number=@number) between aeg1 and aeg2)) is null and (select top 1 ale from mr_hinnavalemid_read inner join artiklid ON artiklid.kood=in_webshop_tell_tellimused_read.artikkel where mr_hinnavalemid_read.klass=artiklid.klass and (aeg1 is null and aeg2 is null)) is not null)
              --    then  (select top 1 ale from mr_hinnavalemid_read inner join artiklid ON artiklid.kood=in_webshop_tell_tellimused_read.artikkel where mr_hinnavalemid_read.klass=artiklid.klass and (aeg1 is null and aeg2 is null))END 
            -- ,case when EXISTS (select top 1 ale from mr_hinnavalemid_read with(nolock) where mida='8' and kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number) and ((select aeg from tell_tellimused with(nolock) where number=@number) between aeg1 and aeg2 ) and in_webshop_tell_tellimused_read.artikkel=artikkel or mida='8' and kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number) and(aeg1 is null and aeg2 is null) and in_webshop_tell_tellimused_read.artikkel=artikkel)
            -- then
               -- '0'
-- ELSE

-- isnull((select top 1 ale from mr_hinnavalemid_read with(nolock) where mida='0' and kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number) and ((select aeg from tell_tellimused with(nolock) where number=@number) between aeg1 and aeg2 ) and in_webshop_tell_tellimused_read.artikkel=artikkel or mida='0' and kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number) and(aeg1 is null and aeg2 is null) and in_webshop_tell_tellimused_read.artikkel=artikkel),
      -- isnull((select top 1 ale from mr_hinnavalemid_read with(nolock) where mida='0' and kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number) and ((select aeg from tell_tellimused with(nolock) where number=@number) between aeg1 and aeg2 ) and klass=(select top 1 klass from artiklid where kood=in_webshop_tell_tellimused_read.artikkel)),(select top 1 ale from mr_hinnavalemid_read with(nolock) where mida='0' and kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number) and(aeg1 is null and aeg2 is null) and klass=(select top 1 klass from artiklid where kood=in_webshop_tell_tellimused_read.artikkel))))
  -- END
               -- , isnull((select top 1  ale from mr_hinnavalemid_read where mida='8' and artikkel=(select top 1 artikkel from in_webshop_tell_tellimused_read where in_webshop_tell_tellimused_read.artikkel=artikkel) and  (((select aeg from tell_tellimused where number=@number) between aeg1 and aeg2 ) or (aeg1 is null and aeg2 is null)) and kood=(select hinnakiri from tell_tellimused where number=@number)), 0)
				-- , isnull(hind,(select dbo.get_hind6(artikkel,(SELECT top 1 hinnakiri from tell_tellimused INNER JOIN mr_hinnavalemid_read ON mr_hinnavalemid_read.artikkel=artikkel and mida='8' and (((select aeg from tell_tellimused where number=@number) between aeg1 and aeg2 ) or (aeg1 is null and aeg2 is null)) where number=@number), null, null, null,null, null,null, null, null,null,0)))
                ,case when EXISTS (select top 1 ale from mr_hinnavalemid_read with(nolock) where mida='8'
								 and kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number)
								  and ((select aeg from tell_tellimused with(nolock) where number=@number) between aeg1 and aeg2 ) 
									and in_webshop_tell_tellimused_read.artikkel=artikkel 
									or mida='8' and kood=(select top 1 hinnakiri from tell_tellimused with(nolock) where number=@number) and(aeg1 is null and aeg2 is null) and in_webshop_tell_tellimused_read.artikkel=artikkel)
                then
                  (select dbo.get_hind6(artikkel,(SELECT top 1 hinnakiri from tell_tellimused where number=@number), null, null ,null,null, null,null, (select top 1 aeg from tell_tellimused where number=@number), null,null,0))
									
 
   
ELSE

(select top 1 baashind from artiklid where kood=in_webshop_tell_tellimused_read.artikkel)
   END
                , kogus*isnull(hind,(select top 1 baashind from artiklid with(nolock) where kood=artikkel))*(100-ISNULL(ale,0))/100
				, dbo.kesk_hind(artikkel,getdate())
				, isnull(nimetus,(select top 1 nimi from artiklid with(nolock) where kood=artikkel))
				, isnull((select top 1 kmkood from artiklid with(nolock) where kood=artikkel),(select top 1 kmk_eesti from artikliklassid with(nolock) where kood=(select TOP 1 klass from artiklid where kood=artikkel)))
				,kommentaar, ROW_NUMBER() OVER(ORDER BY rn) , ROW_NUMBER() OVER(ORDER BY rn )
				FROM in_webshop_tell_tellimused_read with(nolock) where number=@number

		
			update tell_tellimused_read
			set kmkood=ISNULL((select top 1 KMkood from artiklid with(nolock) where kood=tell_tellimused_read.artikkel),(select kmk_eesti from artikliklassid with(nolock) where kood=(select top 1 klass from artiklid with(nolock) where kood=tell_tellimused_read.artikkel)))
			where number=@number and kmkood is null
			UPDATE tell_tellimused_read set tkkm = dbo.summaKM (yhikuhind,kmkood), rsum = dbo.summaKM(summa,kmkood)	where number=@number

			update tell_tellimused_read
			set konto=ISNULL((select top 1 konto_myyk from artiklid with(nolock) where kood=tell_tellimused_read.artikkel),(select myyk_eestis from artikliklassid with(nolock) where kood=(select top 1 klass from artiklid with(nolock) where kood=tell_tellimused_read.artikkel)))
			where number=@number and konto is null

			--EXEC dbo.tell_tellimused_renum @number
			EXEC dbo.arvuta_tellimus @number
			update tell_tellimused_read set rv=rn where number=@number
			exec hooldus_vaba 'tellimus',@number			
			
			set @koodid=@koodid+convert(nvarchar,@number)
			
			insert into kliendid (kood, nimi, aadress1, aadress2, aadress3, nimi_lahetusel, lahaadress1, lahaadress2, lahaadress3
			, kontakt, email, telefon
			,klient_tyyp, klass, regnr, kliendikaart
			,cu,ts)
			select top 1 
			klient_kood, klient_nimi, aadress1, aadress2, aadress3, klientnimi_lahetusel, lahaadress1, lahaadress2, lahaadress3
			, esindaja,email,telefon
			,klient_tyyp, klient_klass, klient_regnr, klient_kliendikaart
			,'XML',GETDATE()
				FROM in_webshop_tell_tellimused with(nolock) where number=@number
			and ISNULL(klient_kood,'')!=''
			and klient_kood not in (select kood from kliendid with(nolock))
			
			insert into #results values (@webid, 'ORDER', 0, 'OK','Orders')
		end
			ELSE
		BEGIN
			insert into #results values (@webid, 'ORDER', 2, 'Duplicate','Orders')
		END


		set @x=@x+1
	end
	FETCH NEXT FROM tellimused INTO @webid, @appkey
	if @@FETCH_STATUS = 0 set @koodid=@koodid+';'
END
CLOSE tellimused
DEALLOCATE tellimused


--cleanup
--delete from in_webshop_tell_tellimused_klient where number in (select number from in_webshop_tell_tellimused where x=@key)

delete from in_webshop_tell_tellimused_read where number in (select number from in_webshop_tell_tellimused where x=@key)
delete from in_webshop_tell_tellimused where x=@key

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--sales orders from imago [EE software]

--vastuvotmine, kogused
declare tellimused cursor for select number, appkey from xml_in_imago_tellimused where x=@key
open tellimused
FETCH NEXT FROM tellimused INTO @webid, @appkey
WHILE @@FETCH_STATUS = 0
BEGIN
	if ISNULL(@appkey,'')!=ISNULL(@appkey_setting,'')
	begin
			insert into #results values (@appkey, 'ORDER', 1, 'Incorrect key','Orders')

	end
	
	else
	begin

		select @id_exist=count(*) from tell_tellimused where kliendi_tellimus=convert(nvarchar(max),@webid)
		if @id_exist=0
		BEGIN
			--set @number=@webid
			
			EXEC dbo.get_dok_number @moodul='tellimus',@seeria='DOC',@NUMBER = NULL, @cu='xmlcore', @aeg=@ag, @keel = 'default', @num =@number OUTPUT, @err = @err OUTPUT

			update tell_tellimused set
					myyja=iif(isnull(z.myyja,'')!='',z.myyja,iif(isnull((select myyja from kliendid where kood=z.arvetasub),'')!='',(select myyja from kliendid where kood=z.arvetasub),iif(isnull((select myyja from kliendid where kood=z.klient_kood),'')!='',(select myyja from kliendid where kood=z.klient_kood),'XML'))),
					aeg=z.aeg,
					klient_kood=z.klient_kood,
					arvetasub=z.arvetasub,
					tingimus=isnull(z.tingimus,(select tingimus from kliendid where kood=z.klient_kood)),
					ladu=isnull(z.ladu,'GAL'),
					klient_nimi=isnull(z.klient_nimi,(select nimi from kliendid where kood=z.klient_kood)),
					lahetusviis=isnull(z.tingimus,(select tingimus from kliendid where kood=z.klient_kood)),
					kommentaar=z.kommentaar,
					valuuta='EUR',
					kurssbv1=1,
					esindaja=isnull(z.esindaja,(select kontakt from kliendid where kood=z.klient_kood)),
					telefon=isnull(z.telefon,(select telefon from kliendid where kood=z.klient_kood)),
					aadress1=isnull(z.aadress1,(select aadress1 from kliendid where kood=z.klient_kood)),
					aadress2=isnull(z.aadress2,(select aadress2 from kliendid where kood=z.klient_kood)),
					aadress3=isnull(z.aadress3,(select aadress3 from kliendid where kood=z.klient_kood)),
					lahetusaadress1=isnull(z.lahaadress1,(select lahaadress1 from kliendid where kood=z.klient_kood)),
					lahetusaadress2=isnull(z.lahaadress2,(select lahaadress2 from kliendid where kood=z.klient_kood)),
					lahetusaadress3=isnull(z.lahaadress3,(select lahaadress3 from kliendid where kood=z.klient_kood)),
					klient_nimi_lahetusel=isnull(z.klientnimi_lahetusel,(select nimi_lahetusel from kliendid where kood=z.klient_kood)),
					ts=getdate(),
					cu='XML',
					Field57=isnull(z.email,(select email from kliendid where kood=z.klient_kood)),
					objekt=isnull(z.objekt,(select objekt from kliendid where kood=z.klient_kood)),
					hinnakiri=(select hinnakiri from kliendid where kood=z.klient_kood),
					kliendi_tellimus=convert(nvarchar(max),@webid)
			from (select * from xml_in_imago_tellimused where number=@webid)z

			where tell_tellimused.number=@number


			select @maa=maa from kliendid where kood=(select klient_kood from xml_in_imago_tellimused where number=@number)
/*
			insert into tell_tellimused (number, myyja, aeg,  klient_kood, arvetasub,  tingimus, ladu, klient_nimi, lahetusviis
				,  kommentaar, valuuta, kurssbv1 
				 ,esindaja, telefon, aadress1, aadress2, aadress3
				 ,lahetusaadress1, lahetusaadress2, lahetusaadress3
				 ,klient_nimi_lahetusel
				 , ts, cu, Field57, objekt
				 ,hinnakiri
				 )
				SELECT @number
				
				,iif(isnull('myyja','')!='',myyja,iif(isnull((select myyja from kliendid where kood=xml_in_imago_tellimused.arvetasub),'')!='',(select myyja from kliendid where kood=xml_in_imago_tellimused.arvetasub),iif(isnull((select myyja from kliendid where kood=xml_in_imago_tellimused.klient_kood),'')!='',(select myyja from kliendid where kood=xml_in_imago_tellimused.klient_kood),'XML')))
				, aeg
				,	klient_kood
				,  arvetasub
				, isnull(tingimus,(select tingimus from kliendid where kood=klient_kood))
				, isnull(ladu,'')
				, isnull(klient_nimi,(select nimi from kliendid where kood=klient_kood))
				, isnull(tingimus,(select tingimus from kliendid where kood=klient_kood))
				,kommentaar
				, 'EUR', 1
				, isnull(esindaja,(select kontakt from kliendid where kood=klient_kood))
				, isnull(telefon,(select telefon from kliendid where kood=klient_kood))
				, isnull(aadress1,(select aadress1 from kliendid where kood=klient_kood))
				, isnull(aadress2,(select aadress2 from kliendid where kood=klient_kood))
				, isnull(aadress3,(select aadress3 from kliendid where kood=klient_kood))
				, isnull(lahaadress1,(select lahaadress1 from kliendid where kood=klient_kood))
				, isnull(lahaadress2,(select lahaadress2 from kliendid where kood=klient_kood))
				, isnull(lahaadress3,(select lahaadress3 from kliendid where kood=klient_kood))
				, isnull(klientnimi_lahetusel,(select nimi_lahetusel from kliendid where kood=klient_kood))

				, GETDATE(), 'XML'
				, isnull(email,(select email from kliendid where kood=klient_kood))
				, isnull(objekt,(select objekt from kliendid where kood=klient_kood))
				,(select hinnakiri from kliendid where kood=klient_kood)
				FROM xml_in_imago_tellimused where number=@number
				
*/
			select * from in_xml_log order by rn desc
			insert into tell_tellimused_read 
			(number, artikkel, variant, konto, kogus, field8, yhikuhind, summa, ostuhind, nimetus, kmkood, r_kommentaar, rn, rv)
			select @number, artikkel,variant, (select myyk_eestis from artikliklassid where kood=(select klass from artiklid where kood=artikkel)), kogus
				, ale
				, isnull(hind,(select baashind from artiklid where kood=artikkel))
				, kogus*isnull(hind,(select baashind from artiklid where kood=artikkel))*(100-ISNULL(ale,0))/100
				, dbo.kesk_hind(artikkel,getdate()), nimetus
				, (select kmk_eesti from artikliklassid where kood=(select klass from artiklid where kood=artikkel))
				,kommentaar, rn, rn
				FROM xml_in_imago_tellimused_read where number=@webid

		
			update tell_tellimused_read
			set kmkood=ISNULL((select kmkood from artiklid where kood=tell_tellimused_read.artikkel),(select kmk_eesti from artikliklassid where kood=(select klass from artiklid where kood=tell_tellimused_read.artikkel)))
			where number=@number and kmkood is null
			UPDATE tell_tellimused_read set tkkm = dbo.summaKM (yhikuhind,kmkood), rsum = dbo.summaKM(summa,kmkood)	where number=@number

			update tell_tellimused_read
			set konto=ISNULL((select konto_myyk from artiklid where kood=tell_tellimused_read.artikkel),(select myyk_eestis from artikliklassid where kood=(select klass from artiklid where kood=tell_tellimused_read.artikkel)))
			where number=@number and konto is null

			EXEC dbo.tell_tellimused_renum @number
			EXEC dbo.arvuta_tellimus @number
			update tell_tellimused_read set rv=rn where number=@number
			exec hooldus_vaba 'tellimus',@number			
			
			set @koodid=@koodid+convert(nvarchar,@number)
			
			insert into kliendid (kood, nimi, aadress1, aadress2, aadress3, nimi_lahetusel, lahaadress1, lahaadress2, lahaadress3
			, kontakt, email, telefon
			,klient_tyyp, klass, regnr, kliendikaart
			,cu,ts)
			select top 1 
			klient_kood, klient_nimi, aadress1, aadress2, aadress3, klientnimi_lahetusel, lahaadress1, lahaadress2, lahaadress3
			, esindaja,email,telefon
			,klient_tyyp, klient_klass, klient_regnr, klient_kliendikaart
			,'XML',GETDATE()
				FROM xml_in_imago_tellimused where number=@webid
			and ISNULL(klient_kood,'')!=''
			and klient_kood not in (select kood from kliendid)
			
			insert into #results values (@webid, 'ORDER', 0, 'OK','Orders')
		end
			ELSE
		BEGIN
			insert into #results values (@webid, 'ORDER', 2, 'Duplicate','Orders')
		END


		set @x=@x+1
	end
	FETCH NEXT FROM tellimused INTO @webid, @appkey
	if @@FETCH_STATUS = 0 set @koodid=@koodid+';'
END
CLOSE tellimused
DEALLOCATE tellimused


--cleanup
--delete from xml_in_imago_tellimused_klient where number in (select number from xml_in_imago_tellimused where x=@key)
delete from xml_in_imago_tellimused_read where number in (select number from xml_in_imago_tellimused where x=@key)
delete from xml_in_imago_tellimused where x=@key

---------------------------------------------------------------------------------------------------------------------------------------------------------
--tulemused valja

if (select COUNT(*) from #results)=0
	insert into #results values (NULL, 'GENERAL ERROR', 99, 'No processable data found',NULL)



select @result1=
(select result as "@Type", descr as "@Desc", number as "@docid", tyyp as "@doctype", submittype as "@submit"
 from #results for xml path ('Result'))

set @result2='<?xml version="1.0" encoding="UTF-8"?><results>'+CONVERT(nvarchar(max),@result1)+'</results>'

select @result2
drop table #results

delete from in_xml_log where datediff(day,ts_inserted,getdate())>=5
lv/procedures.1600180324.txt.gz · Labota: 2020/09/15 17:32 , labojis marija