Lietotāja rīki

Vietnes rīki



lv:procedures

Šī ir veca dokumenta versija!


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.1600180391.txt.gz · Labota: 2020/09/15 17:33 , labojis marija