Commit Jeeves modifications for future tracking
This commit is contained in:
parent
6339e9d1ce
commit
0330e7a4bf
3 changed files with 1300 additions and 0 deletions
445
jeeves_sp_updates/Jeeves_Esales_PlaceOrder.spr
Normal file
445
jeeves_sp_updates/Jeeves_Esales_PlaceOrder.spr
Normal file
|
|
@ -0,0 +1,445 @@
|
|||
SET ANSI_NULLS OFF
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER OFF
|
||||
GO
|
||||
SET NOCOUNT ON
|
||||
GO
|
||||
PRINT 'Begin Jeeves_Esales_PlaceOrder'
|
||||
GO
|
||||
PRINT 'Begin Jeeves_Esales_PlaceOrder'
|
||||
PRINT '***************************************************'
|
||||
PRINT '* *'
|
||||
PRINT '* Jeeves_Esales_PlaceOrder *'
|
||||
PRINT '* *'
|
||||
PRINT '***************************************************'
|
||||
GO
|
||||
IF OBJECT_ID( 'Jeeves_Esales_PlaceOrder', 'P' ) IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE Jeeves_Esales_PlaceOrder
|
||||
END
|
||||
GO
|
||||
IF (SELECT COUNT(*) FROM xspr WHERE
|
||||
SprTrgName = 'Jeeves_Esales_PlaceOrder' AND
|
||||
SprTrgType = 'P' ) > 0
|
||||
BEGIN
|
||||
UPDATE xspr SET beskrivning=beskrivning WHERE
|
||||
SprTrgName = 'Jeeves_Esales_PlaceOrder' AND
|
||||
SprTrgType = 'P'
|
||||
END ELSE BEGIN
|
||||
INSERT INTO xspr(SprTrgName,SprTrgType,RowCreatedDt)
|
||||
VALUES('Jeeves_Esales_PlaceOrder' , 'P', GETDATE() )
|
||||
END
|
||||
GO
|
||||
----------------------------------------------------
|
||||
|
||||
CREATE Procedure Jeeves_Esales_PlaceOrder
|
||||
@c_ForetagKod smallint,
|
||||
@c_OrderNumber int output,
|
||||
@c_webUserName Jeeves_StrVarChar64 = null,
|
||||
@c_CompanyNo Jeeves_StrVarChar32 = null,
|
||||
@c_LangID smallint = null,
|
||||
@c_LevSattKod smallint = null,
|
||||
@c_kundref2 Jeeves_StrVarChar32 = null,
|
||||
@c_kundbestnr Jeeves_StrVarChar32 = null,
|
||||
@c_editext Jeeves_StrVarCharMax = null,
|
||||
@c_CoName Jeeves_StrVarChar64 = null,
|
||||
@c_Addr1 Jeeves_StrVarChar64 = null,
|
||||
@c_Addr2 Jeeves_StrVarChar64 = null,
|
||||
@c_PostalCode Jeeves_StrVarChar64 = null,
|
||||
@c_City Jeeves_StrVarChar64 = null,
|
||||
@c_ProvinceCode Jeeves_StrVarChar5 = null,
|
||||
@c_CountryCode Jeeves_StrVarChar3 = null,
|
||||
@c_godsmarke1 Jeeves_StrVarChar64 = null,
|
||||
@c_godsmarke2 Jeeves_StrVarChar64 = null,
|
||||
@c_godsmarke3 Jeeves_StrVarChar64 = null,
|
||||
@c_godsmarke4 Jeeves_StrVarChar64 = null,
|
||||
@c_TA_MailNotified Jeeves_StrVarChar64 = null,
|
||||
@c_TA_PhonNotifiedNo Jeeves_StrVarChar64 = null,
|
||||
@c_TA_SMSNotifiedNo Jeeves_StrVarChar64 = null,
|
||||
@c_levforetolv char(1) = '0',
|
||||
@c_withFreightCalc char(1) = 'Y',
|
||||
@c_ordlevplats1 Jeeves_StrVarChar20 = null,
|
||||
@c_vRef Jeeves_StrVarChar64 = null,
|
||||
@c_orderStatus smallint = null,
|
||||
@c_PartDeliveryAllowed smallint = null,
|
||||
@c_text Jeeves_StrVarCharMax = null,
|
||||
@c_PaymentType char(1) = '0' --0=invoice, 1=card
|
||||
|
||||
As
|
||||
|
||||
set nocount on
|
||||
|
||||
declare @dbc int,
|
||||
@ftgnr Jeeves_StrVarChar32,
|
||||
@ftgkontaktnr int,
|
||||
@org_ftgnr Jeeves_StrVarChar32,
|
||||
@kp_ftgperson Jeeves_StrVarChar32,
|
||||
@Momskod smallint,
|
||||
@Levsattkod smallint,
|
||||
@LevvillkKod smallint,
|
||||
@Lagstalle Jeeves_StrVarChar10,
|
||||
@Betkod Jeeves_StrVarChar2,
|
||||
@Kreditorder Jeeves_Boolean,
|
||||
@valkurs ztCurrencyRate,
|
||||
@Ordsum Jeeves_Amount,
|
||||
@PersSign Jeeves_StrVarChar32,
|
||||
@Sy1_rbn char(1),
|
||||
@sy1_FtgKontaktToErRef char(1),
|
||||
@wi smallint,
|
||||
@x7_ordstat smallint,
|
||||
@wr Jeeves_StrVarChar256,
|
||||
@kundref2 Jeeves_StrVarChar32,
|
||||
@TA_MailNotified Jeeves_StrVarChar64,
|
||||
@TA_PhonNotifiedNo Jeeves_StrVarChar64,
|
||||
@TA_SMSNotifiedNo Jeeves_StrVarChar64,
|
||||
/*Output från Jeeves_Calc_Frakt*/
|
||||
@out_Fraktkostnad JEEVES_Amount,
|
||||
@out_ExpeditionKostnad JEEVES_Amount,
|
||||
@Out_Fraktdebkod JEEVES_Boolean,
|
||||
@Out_Ordervarde JEEVES_Amount,
|
||||
@Out_Fraktvikt float,
|
||||
@jvss_OrderReservation char(1),
|
||||
@kpwid integer,
|
||||
@OrdBerLevDat DateTime,
|
||||
@SALES007 smallint,
|
||||
@kus_AddArtEjAktiv char(1),
|
||||
@OrdLevAdr4 Jeeves_StrVarChar64
|
||||
|
||||
exec Jeeves_Esales_GetUserInfo @c_IntrnCoNo = @c_ForetagKod,
|
||||
@c_webUserName = @c_webUserName,
|
||||
@c_CompanyNo = @c_CompanyNo,
|
||||
@o_LangID = @c_LangID output,
|
||||
@o_CompanyNo = @ftgnr output,
|
||||
@o_ContactNo = @ftgkontaktnr output,
|
||||
@o_OrgCompanyNo = @org_ftgnr output,
|
||||
@o_kpwid = @kpwid output
|
||||
|
||||
if (@c_ordlevplats1 = @ftgnr) select @c_ordlevplats1 = null
|
||||
|
||||
if (@c_ordlevplats1 = '') select @c_ordlevplats1 = null
|
||||
|
||||
-- concatenate postal code and city for order unique adresses
|
||||
select @OrdLevAdr4 = @c_PostalCode + ' ' + @c_City
|
||||
select @c_City = null
|
||||
|
||||
select @kp_ftgperson = kp.ftgperson from kp
|
||||
where
|
||||
kp.foretagkod = @c_ForetagKod and
|
||||
kp.ftgnr = @ftgnr and
|
||||
kp.ftgkontaktnr = @ftgkontaktnr
|
||||
|
||||
select @Momskod = momskod,
|
||||
@Levsattkod = isnull(@c_LevSattKod, levsattkod),
|
||||
@Kreditorder = kreditorder,
|
||||
@Lagstalle = lagstalle,
|
||||
@valkurs = valkurs,
|
||||
@Ordsum = ordsum,
|
||||
@Levvillkkod = levvillkkod,
|
||||
@Betkod = betkod,
|
||||
@PersSign = perssign,
|
||||
@Kundref2 = kundref2,
|
||||
@c_vRef = isnull(@c_vRef, vref),
|
||||
@TA_MailNotified = TA_MailNotified,
|
||||
@TA_PhonNotifiedNo = TA_PhonNotifiedNo,
|
||||
@TA_SMSNotifiedNo = TA_SMSNotifiedNo
|
||||
from oh where
|
||||
oh.ordernr = @c_OrderNumber and
|
||||
oh.foretagkod = @c_ForetagKod
|
||||
|
||||
if @@Rowcount < 1 begin
|
||||
exec Jeeves_GT @wr output,@c_ForetagKod,@c_LangID,1237,'Kundordern saknas'
|
||||
EXECUTE Jeeves_RaisError 21001, @wr
|
||||
return
|
||||
end
|
||||
|
||||
select @x7_ordstat = dbo.Jeeves_FN_GetParam(@c_ForetagKod,'WEBAPP003','N',null)
|
||||
|
||||
--jeevesparamnumeric from jvss
|
||||
-- where
|
||||
-- jeevesparamname = N'WebOrderStatus' and
|
||||
-- foretagkod = @c_ForetagKod
|
||||
|
||||
--Use passed in value if available
|
||||
select @x7_ordstat = isnull(@c_orderStatus, @x7_ordstat)
|
||||
|
||||
select @jvss_OrderReservation = jvss.jeevesparamboolean from jvss
|
||||
where
|
||||
jvss.jeevesparamname = 'webapp010' and
|
||||
jvss.foretagkod = @c_ForetagKod
|
||||
|
||||
--select @orp_ordradstat = dbo.Jeeves_FN_GetParam (@c_IntrnCoNo,'WEBAPP018','N','10')
|
||||
|
||||
select @Sy1_rbn = sy1_rbn,
|
||||
@sy1_FtgKontaktToErRef=FtgKontaktToErRef
|
||||
from sy1
|
||||
where sy1.foretagkod = @c_ForetagKod
|
||||
|
||||
--if @c_kundref is null and FtgKontaktToErRef is true then insert Contact name as reference
|
||||
if @c_kundref2 is null begin
|
||||
if @sy1_FtgKontaktToErRef = '1' select @c_kundref2 = @kp_ftgperson
|
||||
end
|
||||
|
||||
if @c_vRef is null begin
|
||||
if (@org_ftgnr <> @ftgnr) begin
|
||||
select @c_vRef = ftgnamn from fr
|
||||
where fr.ftgnr = @org_ftgnr and
|
||||
fr.foretagkod = @c_ForetagKod
|
||||
End
|
||||
End
|
||||
|
||||
execute @wi = Jeeves_oh_ordervarde
|
||||
@In_OrderNr = @c_OrderNumber,
|
||||
@In_ValKurs = @Valkurs,
|
||||
@In_sy1_rbn = @Sy1_rbn,
|
||||
@In_PersSign = @Perssign,
|
||||
@Call_Type = 4,
|
||||
@c_Foretagkod = @c_ForetagKod
|
||||
|
||||
--The estimated delivery date of the order will be set to the earliest delivery date of a row.
|
||||
select @OrdBerLevDat = min(OrdBerLevDat) from orp where foretagkod = @c_ForetagKod AND OrderNr = @c_OrderNumber
|
||||
|
||||
begin tran
|
||||
|
||||
exec @wi = Jeeves_oh_kora @c_OrderNumber,null,2,@c_ForetagKod
|
||||
|
||||
if @Wi < 0 begin
|
||||
Rollback tran
|
||||
return @Wi
|
||||
end
|
||||
|
||||
select @SALES007 = dbo.Jeeves_FN_GetParam(@c_ForetagKod, 'SALES007', 'N',null)
|
||||
select @kus_AddArtEjAktiv = AddArtEjAktiv from kus where foretagkod = @c_ForetagKod and ftgnr = @ftgnr
|
||||
|
||||
if @SALES007 = 1 AND @kus_AddArtEjAktiv <> '1'
|
||||
BEGIN
|
||||
exec @wi = JEEVES_Orp_Create_Tillagg @c_OrderNumber,@Perssign,@c_ForetagKod,0
|
||||
|
||||
if @Wi < 0 begin
|
||||
Rollback tran
|
||||
return @Wi
|
||||
end
|
||||
END
|
||||
|
||||
if @c_withFreightCalc = 'Y' Begin
|
||||
|
||||
declare @Artvikt float,
|
||||
@Volume float,
|
||||
@Fraktvikt float,
|
||||
@Expavgkod Jeeves_Boolean,
|
||||
@Fraktkostnader Jeeves_Amount,
|
||||
@DispatchFeeExists smallint,
|
||||
@valkod Jeeves_StrVarChar4,
|
||||
@Fraktskrymmekod Jeeves_Boolean
|
||||
|
||||
select @Artvikt = artvikt,
|
||||
@Volume = volume,
|
||||
@Fraktkostnader=Emballagekostnad+fraktkostnman+ForsakringsKostnad+ovrfaktkostnad1+ovrfaktkostnad2,
|
||||
@valkod = valkod,
|
||||
@Expavgkod = expavgkd,
|
||||
@Fraktskrymmekod = fraktskrymmekod,
|
||||
@Fraktvikt = fraktvikt
|
||||
from oh where
|
||||
oh.ordernr = @c_OrderNumber and
|
||||
oh.foretagkod = @c_ForetagKod
|
||||
|
||||
--Check that dispatch fee is defined in table fkst
|
||||
--This check has been removed as described in 521932.
|
||||
--select @DispatchFeeExists=faktkostntyp from fkst where
|
||||
-- fkst.faktkostntyp = 4 and
|
||||
-- fkst.foretagkod = @c_ForetagKod
|
||||
|
||||
if @@Rowcount < 1 begin
|
||||
rollback tran
|
||||
exec Jeeves_GT @wr output,@c_ForetagKod,@c_LangID,1333,'Expeditionsavgift kan ej debiteras, definition saknas i tabellen Fakturakostnader (fkst) !'
|
||||
EXECUTE Jeeves_RaisError 21001, @wr
|
||||
return
|
||||
end
|
||||
|
||||
execute JEEVES_Calc_Frakt
|
||||
@In_ForetagKod=@c_ForetagKod,
|
||||
@In_FtgNr = @ftgnr,
|
||||
@In_OrdLevPlats1 = @ftgnr,
|
||||
@In_OrderNr = @c_OrderNumber,
|
||||
@In_KreditOrder = @Kreditorder,
|
||||
--@In_OrdBerLevDat datetime=NULL,
|
||||
@In_LagStalle = @Lagstalle,
|
||||
--@In_OrdLevNr smallint=NULL,
|
||||
--@In_OrdStat smallint=NULL,
|
||||
--@In_OrdFsNr smallint=NULL,
|
||||
@In_FraktVikt = @Artvikt,
|
||||
@In_AntalEURPall = 0,
|
||||
@In_AntalOvrPall = 0,
|
||||
@In_Volume = @Volume,
|
||||
@In_LevForeTolv = @c_Levforetolv,
|
||||
@In_FraktSkrymmeKod = @Fraktskrymmekod,
|
||||
@In_LevSattKod = @Levsattkod,
|
||||
@In_LevVillkKod = @Levvillkkod,
|
||||
@In_ValKurs = @Valkurs,
|
||||
@In_Valkod = @Valkod,
|
||||
@In_ExpAvgKod = @ExpAvgkod,
|
||||
@In_BetKod = @Betkod,
|
||||
@In_MomsKod = @Momskod,
|
||||
@In_OrderVarde = @Ordsum,
|
||||
@Call_Type = 1,
|
||||
@PersSign = @PersSign,
|
||||
@In_OvrFaktKostnader = 0,
|
||||
@Svar_FraktKostnad = @out_Fraktkostnad output,
|
||||
@Svar_ExpeditionKostnad = @out_ExpeditionKostnad output,
|
||||
@Svar_FraktdebKod = @Out_Fraktdebkod output,
|
||||
@Svar_OrderVarde = @Out_Ordervarde output,
|
||||
@Svar_Fraktvikt = @Out_Fraktvikt output
|
||||
|
||||
if @@Error <> 0 begin
|
||||
rollback tran
|
||||
return
|
||||
end
|
||||
End
|
||||
|
||||
if @c_PaymentType <> '1' begin
|
||||
Update oh SET
|
||||
oh.ordernralfa = 'Internet',
|
||||
oh.ordstat = isnull(@x7_ordstat,13),
|
||||
oh.kundref2 = @c_kundref2,
|
||||
oh.kundbestnr = @c_kundbestnr,
|
||||
oh.levforetolv = @c_levforetolv,
|
||||
oh.levsattkod = @Levsattkod,
|
||||
oh.ordberlevdat = @OrdBerLevDat,
|
||||
oh.ordlevadr1 = @c_CoName,
|
||||
oh.ordlevadr2 = @c_Addr1,
|
||||
oh.ordlevadr3 = @c_Addr2,
|
||||
oh.ordlevadr4 = @OrdLevAdr4,
|
||||
oh.ordlevadrbstort = @c_City,
|
||||
oh.Ordlevadrlandskod = @c_CountryCode,
|
||||
oh.ordlevadrprovincecode = @c_ProvinceCode,
|
||||
oh.editext = @c_editext,
|
||||
oh.edit = @c_text,
|
||||
oh.bruttovikt = isnull(@artvikt,0),
|
||||
oh.fraktkostnber = isnull(@out_Fraktkostnad,0),
|
||||
oh.godsmarke1 = @c_godsmarke1,
|
||||
oh.godsmarke2 = @c_godsmarke2,
|
||||
oh.godsmarke3 = @c_godsmarke3,
|
||||
oh.godsmarke4 = @c_godsmarke4,
|
||||
oh.ordlevplats1 = @c_ordlevplats1,
|
||||
oh.dellevtillaten = isnull(@c_PartDeliveryAllowed, 0),
|
||||
oh.vref = @c_vRef,
|
||||
oh.ta_mailnotified = isnull(@c_TA_MailNotified, @TA_MailNotified),
|
||||
oh.ta_phonnotifiedno = isnull(@c_TA_PhonNotifiedNo, @TA_PhonNotifiedNo),
|
||||
oh.ta_smsnotifiedno = isnull(@c_TA_SMSNotifiedNo, @TA_SMSNotifiedNo)
|
||||
Where ordernr = @c_OrderNumber and
|
||||
foretagkod = @c_ForetagKod
|
||||
|
||||
if @@Error <> 0 begin
|
||||
rollback tran
|
||||
return
|
||||
end
|
||||
|
||||
update kp set
|
||||
kp.antalkop = isnull(kp.antalkop,0) + 1
|
||||
where
|
||||
kp.foretagkod = @c_ForetagKod and
|
||||
kp.ftgnr = @ftgnr and
|
||||
kp.ftgkontaktnr = @ftgkontaktnr
|
||||
|
||||
if @@Error <> 0 begin
|
||||
rollback tran
|
||||
return
|
||||
end
|
||||
|
||||
end else begin
|
||||
--KORTBETALNING
|
||||
--do not update orderstatus
|
||||
--do not imcrement kp
|
||||
Update oh SET
|
||||
oh.ordernralfa = 'Internet',
|
||||
oh.kundref2 = @c_kundref2,
|
||||
oh.kundbestnr = @c_kundbestnr,
|
||||
oh.levforetolv = @c_levforetolv,
|
||||
oh.levsattkod = @Levsattkod,
|
||||
oh.ordberlevdat = @OrdBerLevDat,
|
||||
oh.ordlevadr1 = @c_CoName,
|
||||
oh.ordlevadr2 = @c_Addr1,
|
||||
oh.ordlevadr3 = @c_Addr2,
|
||||
oh.ordlevadr4 = @OrdLevAdr4,
|
||||
oh.ordlevadrbstort = @c_City,
|
||||
oh.Ordlevadrlandskod = @c_CountryCode,
|
||||
oh.ordlevadrprovincecode = @c_ProvinceCode,
|
||||
oh.editext = @c_editext,
|
||||
oh.edit = @c_text,
|
||||
oh.bruttovikt = isnull(@artvikt,0),
|
||||
oh.fraktkostnber = isnull(@out_Fraktkostnad,0),
|
||||
oh.godsmarke1 = @c_godsmarke1,
|
||||
oh.godsmarke2 = @c_godsmarke2,
|
||||
oh.godsmarke3 = @c_godsmarke3,
|
||||
oh.godsmarke4 = @c_godsmarke4,
|
||||
oh.ordlevplats1 = @c_ordlevplats1,
|
||||
oh.dellevtillaten = isnull(@c_PartDeliveryAllowed, 0),
|
||||
oh.vref = @c_vRef,
|
||||
oh.ta_mailnotified = isnull(@c_TA_MailNotified, @TA_MailNotified),
|
||||
oh.ta_phonnotifiedno = isnull(@c_TA_PhonNotifiedNo, @TA_PhonNotifiedNo),
|
||||
oh.ta_smsnotifiedno = isnull(@c_TA_SMSNotifiedNo, @TA_SMSNotifiedNo)
|
||||
Where ordernr = @c_OrderNumber and
|
||||
foretagkod = @c_ForetagKod
|
||||
|
||||
if @@Error <> 0 begin
|
||||
rollback tran
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
--remove any old
|
||||
if exists(select 1 from webl where webl.ConnSQLIDkpw = @kpwid and
|
||||
webl.ordernr = @c_OrderNumber ) begin
|
||||
|
||||
update webl set
|
||||
ordernr = null
|
||||
where
|
||||
webl.ConnSQLIDkpw = @kpwid and
|
||||
webl.ordernr = @c_OrderNumber
|
||||
end
|
||||
|
||||
|
||||
if @@Error <> 0 begin
|
||||
rollback tran
|
||||
return
|
||||
end
|
||||
|
||||
/*
|
||||
insert into webo (Foretagkod,
|
||||
OrderNr,
|
||||
RowCreatedBy,
|
||||
Perssign,
|
||||
RegDat,
|
||||
RowCreatedDt)
|
||||
values (@c_IntrnCoNo,
|
||||
@o_OrderNo,
|
||||
@Perssign,
|
||||
@Perssign,
|
||||
getdate(),
|
||||
getdate())
|
||||
|
||||
if @@Error <> 0 begin
|
||||
rollback tran
|
||||
return
|
||||
end */
|
||||
|
||||
commit tran
|
||||
|
||||
if @jvss_Orderreservation = '1' Begin
|
||||
execute JEEVES_Oh_Bok
|
||||
@OrderNr = @c_OrderNumber,
|
||||
@PersSign = @PersSign,
|
||||
@ForetagKod =@c_ForetagKod
|
||||
|
||||
End
|
||||
|
||||
--select @o_OrderNo = @Ordernr
|
||||
|
||||
return
|
||||
|
||||
|
||||
GO
|
||||
PRINT 'End Jeeves_Esales_PlaceOrder'
|
||||
GO
|
||||
PRINT 'End Jeeves_Esales_PlaceOrder'
|
||||
GO
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue