#include vhLib.Macro Export Set Dev=$$OPEN^vhDEV(,"Transporten.txt","W","T") Use Dev Do WriteHeader Do OphalenTransporten Do CLOSE^vhDEV(Dev) Quit WriteHeader Write "Transport Start Afsluiten" Write " KLNr Naam Woonplaats LandCode" Write " Gewicht" For Collie="E","C","L","P","B" Do . Write *9,"Col "_Collie Write " AantalDeelMag VroegsteStart LaatsteStart VroegsteEinde LaatsteEinde" Write " BonNr" For SoftV="E","A","U","H","L","O","I" Do . Write *9,"Mag "_SoftV_" start",*9,"Mag "_SoftV_" einde",*9,"Mag "_SoftV_" aantal",*9,"Mag "_SoftV_" bon" Write ! Quit OphalenTransporten Set Transp="" For Set Transp=$O(^TRANSP("D",Transp)) Quit:Transp="" Do . Set Transporteur=$P(^TRANSP("D",Transp),"\") . Quit:'##class(DOM.TRANSP.impl.DataM.DataMTransportAPI).%New().IsGLS(Transporteur) . Set TransportDatumBegin=$P(^TRANSP("D",Transp),"\",10) . Set TransportDatumAfgesloten=$P(^TRANSP("D",Transp),"\",11) . Quit:TransportDatumBegin<($H-88) . Do OphalenAdressen Quit OphalenAdressen Set Ref="" For Set Ref=$O(^TRANSP("D",Transp,"D",Ref)) Quit:Ref="" Do . Do AantalBons . Do AantalCollies . Do OphalenBons Quit OphalenBons Set BONNr="" For Set BONNr=$O(^TRANSP("D",Transp,"D",Ref,"B",BONNr)) Quit:BONNr="" Do . Do WriteTransp . Do WriteCollie . Do WriteBon . Write ! Quit WriteTransp Write Transp,*9,$$TimeStamp(TransportDatumBegin),*9,$$TimeStamp(TransportDatumAfgesloten) Set KLNr=$P(^TRANSP("D",Transp,"D",Ref),"\") Set Gewicht=$P(^TRANSP("D",Transp,"D",Ref),"\",3) Set Klant=##class(Derde.Klant.Klant).%OpenId(KLNr) Write *9,KLNr,*9,Klant.Naam,*9,Klant.Woonplaats,*9,Klant.LandCode Quit TimeStamp(Tijdstip) Quit:Tijdstip="" "" Quit $zdt(Tijdstip,4) WriteCollie Set Gewicht=$P($G(^TRANSP("D",Transp,"D",Ref)),"\",3) Write *9,$$$ExcelNum(Gewicht/AantalBons) For Collie="E","C","L","P","B" Do . Set Qty=$P($G(^TRANSP("D",Transp,"D",Ref,"Q",Collie)),"\",1) . Write *9,$$$ExcelNum(Qty/AantalBons) Quit WriteBon Kill FirstPick,Qty,LastPick Set DeelPick=0 Set LastStart="" Set FirstStart="" Set LastEnd="" Set FirstEnd="" Set ORDNr="" Kill Qty For Set ORDNr=$O(^ORDW("D",BONNr,"D",ORDNr)) Quit:ORDNr="" Do . Set OLNr="" . For Set OLNr=$O(^ORDW("D",BONNr,"D",ORDNr,OLNr)) Quit:OLNr="" Do . . Set OLUNr="" . . For Set OLUNr=$O(^ORDW("D",BONNr,"D",ORDNr,OLNr,OLUNr)) Quit:OLUNr="" Do . . . Quit:OLUNr#100 . . . Set SoftV=$P(^ORDW("D",BONNr,"D",ORDNr,OLNr,OLUNr),"\",13) . . . Quit:SoftV="" . . . Set:SoftV?1N SoftV="E" . . . Set Qty(SoftV)=$G(Qty(SoftV))+1 . . . Set Qty=$G(Qty)+1 . . . Set PickTijd=$P(^ORDW("D",BONNr,"D",ORDNr,OLNr,OLUNr),"\",6) . . . Set:$G(FirstPick(SoftV))="" FirstPick(SoftV)=PickTijd . . . Set:$$DIFFTIME^vhLib.DataTypes(FirstPick(SoftV),PickTijd)<0 FirstPick(SoftV)=PickTijd . . . Set:$G(LastPick(SoftV))="" LastPick(SoftV)=PickTijd . . . Set:$$DIFFTIME^vhLib.DataTypes(LastPick(SoftV),PickTijd)>0 LastPick(SoftV)=PickTijd For SoftV="E","A","U","H","L","O","I" Do:$G(Qty(SoftV)) . Set DeelPick=DeelPick+1 . Set:$G(FirstStart)="" FirstStart=FirstPick(SoftV) . Set:$$DIFFTIME^vhLib.DataTypes(FirstStart,FirstPick(SoftV))<0 FirstStart=FirstPick(SoftV) . Set:$G(LastStart)="" LastStart=FirstPick(SoftV) . Set:$$DIFFTIME^vhLib.DataTypes(LastStart,FirstPick(SoftV))>0 LastStart=FirstPick(SoftV) . Set:$G(FirstEnd)="" FirstEnd=LastPick(SoftV) . Set:$$DIFFTIME^vhLib.DataTypes(FirstEnd,LastPick(SoftV))<0 FirstEnd=LastPick(SoftV) . Set:$G(LastEnd)="" LastEnd=LastPick(SoftV) . Set:$$DIFFTIME^vhLib.DataTypes(LastEnd,LastPick(SoftV))>0 LastEnd=LastPick(SoftV) Write *9,DeelPick,*9,$$TimeStamp(FirstStart),*9,$$TimeStamp(LastStart),*9,$$TimeStamp(FirstEnd),*9,$$TimeStamp(LastEnd) Write *9,BONNr For SoftV="E","A","U","H","L","O","I" Do . If $G(Qty(SoftV)) Do . . Write *9,$$TimeStamp($G(FirstPick(SoftV))),*9,$$TimeStamp($G(LastPick(SoftV))),*9,$G(Qty(SoftV)),*9,$$$ExcelNum($G(Qty(SoftV))/$G(Qty,1)) . Else Do . . Write *9,*9,*9,*9 Quit AantalBons Set BONNr="" Set AantalBons=0 For Set BONNr=$O(^TRANSP("D",Transp,"D",Ref,"B",BONNr)) Quit:BONNr="" Do . Set AantalBons=AantalBons+1 Quit AantalCollies Set Collie="" For Set Collie=$O(^TRANSP("D",Transp,"D",Ref,"Q",Collie)) Quit:Collie="" Do . Set AantalCollies(Collie)="" Quit