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