#include Prod.Product
BLCSBFAKVerschillenMail ;Blum Vervoer-Factuurlijst [ 09/06/2002 1:00 PM ]
Verwerk(LC,lbVRF)
Do InitBody(LC,lbVRF)
Do Header(LC,lbVRF)
Set AantalVerschillen=$$VerzamelVerschillen(LC,lbVRF)
Quit:'AantalVerschillen ; geen verschillen dus geen mail
Do EndBody
Do MailVerschillen(LC,lbVRF)
Quit
InitBody(LC,lbVRF)
#define fmtBeginHtml "
"
#define fmtBeginTable ""
#define fmtReferentie(%Txt) $C(10,13)_""_%Txt_"
"
Set strmBody=##class(%GlobalCharacterStream).%New()
;header van de HTML-pagina
Do strmBody.Write($$$fmtBeginHtml)
Do strmBody.Write($$$fmtReferentie("Blum vervoerslijst(en): "_$$ListToPieces^vhLib(lbVRF,",")))
Do strmBody.Write($$$fmtBeginTable)
Quit
EndBody
#define fmtEndHtml ""
#define fmtEndTable "
"
Do strmBody.Write($$$fmtEndTable)
Do strmBody.Write($$$fmtEndHtml)
Quit
VerzamelVerschillen(LC,lbVRF)
New FAKNr,Cnt,VRF,FAKNr,LijnNr,PRNr,Rec,FakRec,LijnVerschil
Set Cnt=0
For I=1:1:$LL(lbVRF) Do
. Set VRF=$LG(lbVRF,I)
. Quit:'VRF Quit:'$D(^Verv(LC,"D",VRF))
. Set FAKNr=""
. For Set FAKNr=$O(^Verv(LC,"D",VRF,FAKNr)) Quit:FAKNr="" Do
. . Set FakRec=^(FAKNr)
. . Set LijnNr=""
. . If $P(FakRec,"\",7) For Set LijnNr=$O(^Verv(LC,"D",VRF,FAKNr,LijnNr)) Quit:LijnNr="" Do
. . . Set Rec=^(LijnNr)
. . . Quit:'$L($P(Rec,"\",17))
. . . Set PRNr=$P(Rec,"\",7)
. . . If PRNr,$D(^KPR(PRNr)) Do
. . . . Set BlumPrijs=+$J($P(Rec,"\",14)/$P(Rec,"\",12),0,2)
. . . . Set VHPrijs=$P(Rec,"\",22)
. . . . Set LijnVerschil=$S(VHPrijs>BlumPrijs:VHPrijs-BlumPrijs,1:BlumPrijs-VHPrijs)
. . . . quit:LijnVerschil<0.05
. . . . Set Cnt=Cnt+1
. . . . Set VerschilCode=$P(Rec,"\",17)
. . . . Set ToeLevPrijs=$P(Rec,"\",18)
. . . . Set ToeLevGO=$P(Rec,"\",19)
. . . . Set ToeLevKort=$P(Rec,"\",20)
. . . . Set ToeLevNr=$P(Rec,"\",1)
. . . . Do AddVerschil2Body(FAKNr,ToeLevNr,PRNr,VerschilCode,BlumPrijs,VHPrijs,ToeLevPrijs,ToeLevGO,ToeLevKort)
Quit Cnt
AddVerschil2Body(BlumFactuurNr,ToeLevNr,PRNr,VerschilCode,BlumPrijs,VHPrijs,ToeLevPrijs,ToeLevGO,ToeLevKort)
#define fmtBeginRow ""
#define fmtEndRow "
"
#define fmtBeginCell(%align) ""
#define fmtEndCell " | "
#define AlignLeft "left"
#define AlignRight "right"
#define AlignMiddle "middle"
Do strmBody.Write($$$fmtBeginRow)
Do strmBody.Write($$$fmtBeginCell($$$AlignMiddle)_BlumFactuurNr_$$$fmtEndCell)
Do strmBody.Write($$$fmtBeginCell($$$AlignMiddle)_ToeLevNr_$$$fmtEndCell)
Do strmBody.Write($$$fmtBeginCell($$$AlignLeft)_$$$PRGet($$$KortTekst)_$$$fmtEndCell)
Do strmBody.Write($$$fmtBeginCell($$$AlignLeft)_$$$PRGet($$$IdentNummer)_$$$fmtEndCell)
Do strmBody.Write($$$fmtBeginCell($$$AlignMiddle)_VerschilCode_$$$fmtEndCell)
Do strmBody.Write($$$fmtBeginCell($$$AlignRight)_$FN(BlumPrijs,".",2)_$$$fmtEndCell)
Do strmBody.Write($$$fmtBeginCell($$$AlignRight)_$FN(VHPrijs,".",2)_$$$fmtEndCell)
Do strmBody.Write($$$fmtBeginCell($$$AlignLeft)_$FN(ToeLevPrijs,".",2)_"/"_ToeLevGO_" - "_(ToeLevKort*100)_"%"_$$$fmtEndCell)
Do strmBody.Write($$$fmtEndRow)
Quit
Header(LC,lbVRF)
#define fmtBeginHeader(%align) ""
#define fmtEndHeader " | "
Do strmBody.Write($$$fmtBeginRow)
Do strmBody.Write($$$fmtBeginHeader($$$AlignMiddle)_"Blum Fact."_$$$fmtEndHeader)
Do strmBody.Write($$$fmtBeginHeader($$$AlignMiddle)_"VH Toelev."_$$$fmtEndHeader)
Do strmBody.Write($$$fmtBeginHeader($$$AlignLeft)_"KortTekst"_$$$fmtEndHeader)
Do strmBody.Write($$$fmtBeginHeader($$$AlignLeft)_"IdentNr"_$$$fmtEndHeader)
Do strmBody.Write($$$fmtBeginHeader($$$AlignMiddle)_"Test"_$$$fmtEndHeader)
Do strmBody.Write($$$fmtBeginHeader($$$AlignRight)_"Blum prijs"_$$$fmtEndHeader)
Do strmBody.Write($$$fmtBeginHeader($$$AlignRight)_"VH prijs"_$$$fmtEndHeader)
Do strmBody.Write($$$fmtBeginHeader($$$AlignLeft)_"Toelevering prijs"_$$$fmtEndHeader)
Do strmBody.Write($$$fmtEndRow)
Quit
MailVerschillen(LC,lbVRF)
Set Subject="Prijsverschillen in vervoerslijst(en) "_$$ListToPieces^vhLib(lbVRF,",")
Set From=##class(TECH.Context.RuntimeContext).Instance().GeefServerNaam()_"@VANHOECKE.BE"
Set To=$LB("PM_Administratie@vanhoecke.be")
Set X=$$SendMiniMail^vhLib(From,To,Subject,strmBody,1,1)
Quit