HADOPV2 ;HALUX productie opvolging ZAAGLIJST [ 05/23/2003 2:15 PM ] TBTIJD(Batches) ;Sommeren van het aantal laden en de berekende tijd New Batch,Rec,PRNr,VolgNr,Som,Txt Set (Batch,VolgNr)="" For Set Batch=$O(^HADPR("O",Batch)) Quit:Batch="" Do:Batches[Batch . For Set VolgNr=$O(^HADPR("O",Batch,VolgNr)) Quit:VolgNr="" Do .. Set Rec=^HADPR("O",Batch,VolgNr) .. Set PRNr=$P(Rec,D,3) .. Quit:$P($$GENTYP^HAD(PRNr),D)'="TBX" .. Set Qty=$P(Rec,D,7) .. Set TOENr=$P(Rec,D,6) .. Set TLUNr=$P(Rec,D,5) .. Set FabKey=$$FABKEYT^HADOPV(TOENr,TLUNr) .. Quit:$$CheckContract^HADOPV(FabKey) .. Set (Week,TLNr)="" .. Set:TOENr&TLUNr TLNr=$G(^TO("IU",TOENr,TLUNr)) .. Set:TLNr Week=$P($G(^KTO(6332,TOENr,TLNr)),D,25) .. Set Tijd=$P($G(^KPR(PRNr,"G")),D,16) .. Set:'Tijd Tijd=650 .. Set:Week="" Week="*" .. If Week'="*" Do ... Set Stat="3" ... Set:$P($G(^HADPR("F",FabKey,"A")),D,3)="A" Stat="2" ... Set:$P($G(^HADPR("F",FabKey,"K")),D,3)="A" Stat="1" .. Else Set Stat="4" .. Set $P(Som(Stat,Week),D,1)=$P($G(Som(Stat,Week)),D,1)+1 .. Set $P(Som(Stat,Week),D,2)=$P($G(Som(Stat,Week)),D,2)+Qty .. Set $P(Som(Stat,Week),D,3)=$P($G(Som(Stat,Week)),D,3)+(Tijd*Qty) Set (Stat,Week)="" Set Txt=1,Txt(Txt)="ªUStatus | Week | Qty | Tijd ªu" For Set Stat=$O(Som(Stat)) Quit:Stat="" Do . For Set Week=$O(Som(Stat,Week)) Quit:Week="" Do .. Set Txt=Txt+1,Txt(Txt)=$P("Productie;Actief ;Nieuw ; ",";",Stat)_" | "_Week_" |"_$J($P(Som(Stat,Week),D,2),4)_" | "_$TR($J($P(Som(Stat,Week),D,3)/3600,5,1),".","h") Set Txt=$$WILD^vhTXTPOP("C;C","Overzicht",$NA(Txt)) Quit WERKDOCS(Batches) Set Types=$$PI^vhPOPUP("C;C","MOK2","Afdruk types","HADOPV","PRINTTITEL") Quit:Types="" For I=1:1:$L(Types,";") Do .Set Type=$P(Types,";",I) .If Type="Z"!(Type="A") Do ..If $L(Batches,";")'=1 Do WARN^vhTXTPOP("Zaaglijst kan NIET met meerdere batches") Quit ..Do AFBL(Batches):Type="A" ..Do ZAAGL(Batches):Type="Z" .Else Do PRINT(Batches,"Werkdoc "_$P(^RES("HADOPV","PI","PRINTTITEL","D",Type),"`",2),Type) Quit ZAAGL(Batch) New MemProf,PLD,VolgNr,Select,RecO,RecG,PRNr,KLNr,KLNm,Profiel,Breedte,Hoogte,VolgNr,DSONr,Afm,Lengte,Som,Cnt,Prof,Qty,I,TOENr,HADID,BatchLog,Soort Kill ^HULP(%J,"Z"),^HULP(%J,"ZS") Set VolgNr=0,Cnt=0 Set BatchLog='$D(^HADPR("BL",Batch)) ; Indien reeds bestaande dan geen tweede. For Set Cnt=$O(^HADPR("O",Batch,Cnt)) Quit:Cnt="" Do .Set RecO=^HADPR("O",Batch,Cnt) .Set PRNr=$P(RecO,D,3) .Set RecG=$G(^KPR(PRNr,"G")) .Set:RecG="" RecG=$G(^KPRO(PRNr,"G")) .Set KLNr=$P(RecO,D,2) .Set KLNm=$S(KLNr:$P(^KKL(^KK1(KLNr),0),D,2),1:"") .Set HADID=$P(RecG,D,13) .Set TOENr=$P(RecO,D,6) .Set Soort=$P(RecO,D,1) .If Soort="DV" Do ..Set Profiel="DIVERSE" ..Set Breedte=0 ..Set Hoogte=0 ..Set DOSNr="" .Else Do ; Kaderdeur ..Set Profiel=$P(RecG,D,2) ..Set Hoogte=$P(RecG,D,8) ..Set Breedte=$P(RecG,D,9) ..Set Qty=$P(RecO,D,7) ..Set:Breedte'=100&(Soort'="PR") $P(RecO,D,7)=$P(RecO,D,7)*2 ; 2 zijden ..Set DOSNr=$P(RecG,D,1) .Set $P(RecO,D,15)=DOSNr .Set $P(RecO,D,16)=KLNm .Set $P(RecO,D,17)=Profiel .Set Vulling=$P(RecG,D,10) .Set Transparant=0 .; code verwijderd door PV 19/04/2012 niet meer nodig omdat de zaaglijst niet meer wordt gebruikt. .;If $L(Vulling),$D(^RES("HAD","PI","VULLING","D",Vulling)) Do .;.Set Transparant=$$IsTransparanteVulling^HADVUL(Vulling)||$$IsPlanilak^HADVUL(Vulling) .Set $P(RecO,D,20)=Transparant .Set VolgNr=VolgNr+1 .Set $P(RecO,D,18)=Hoogte .Set $P(RecO,D,19)=$S(Soort="PR":"los",Breedte=100:"RECHT",1:Breedte) .Set ^HULP(%J,"ZS",Profiel,-Hoogte,VolgNr)=RecO .If Soort'="DV",Soort'="PR",Breedte'=100 Do ..Set VolgNr=VolgNr+1 ..Set $P(RecO,D,18)=Breedte ..Set $P(RecO,D,19)=Hoogte ..Set ^HULP(%J,"ZS",Profiel,-Breedte,VolgNr)=RecO .; Opnemen batch logging .Set:BatchLog ^HADPR("LB",Batch,$O(^HADPR("LB",Batch,""),-1)+1)=PRNr_D_Qty_D_HADID_D_KLNr_D_TOENr Quit:'$D(^HULP(%J,"ZS")) Set Cnt=0 Set (Profiel,Afm,VolgNr)="" For Set Profiel=$O(^HULP(%J,"ZS",Profiel)) Quit:Profiel="" Do .Set Som="" .For Set Afm=$O(^HULP(%J,"ZS",Profiel,Afm)) Quit:Afm="" Do ..For Set VolgNr=$O(^HULP(%J,"ZS",Profiel,Afm,VolgNr)) Quit:VolgNr="" Do ...Set RecO=^(VolgNr) ...Set Cnt=Cnt+1 ...Set Lengte=$P(RecO,D,18) ...Set Qty=$P(RecO,D,7) ...Set Som=Som+(Lengte*Qty) ...Set ^HULP(%J,"Z",Cnt)=RecO .Quit:'Som .Set Prof=$P(RecO,D,17) .Set RecO="" .Set $P(RecO,D,17)=Prof .Set $P(RecO,D,18)=Som .Set $P(RecO,D,7)=Som*1.1/3000 ; incl. zaagverlies .Set $P(RecO,D,16)="Totaal" .Set Cnt=Cnt+1 .Set ^HULP(%J,"Z",Cnt)=RecO Kill ^HULP(%J,"ZS") Do INIT^vhLISTO("HADOPV","ZAAGL",.PLD) Set PLD(5)=77 Set PLD(10)="CBZAAGL^HADOPV2" Set PLD(11)="HALUX Zaaglijst"_D_"Batch "_Batches_" : "_$P($G(^HADPR("B",$P(Batches,";"))),D)_D_"Einddatum : "_$$EXTDATE^vhLib.DataTypes($P($G(^HADPR("B",$P(Batches,";"))),D,3),"DK") Set MemProf="" Do PRINT^OUTPUT(.PLD,"P","S","BL") Kill ^HULP(%J,"Z") Quit CBZAAGL(Ref) New Profiel,Fmt,Rec Quit:$L(Ref)=1 "" Set Rec=@Ref Set Profiel=$P(Rec,D,17) Set Fmt=";1" Set:MemProf'=Profiel&(MemProf'="") Fmt="BR\;1" Set:$P(Rec,D,2)="" Fmt="BL\;2" ; Geen klantnr -> sommatie Set MemProf=Profiel Quit Fmt AFBL(Batch) ; Afboordingslijst New MemProf,PLD,VolgNr,Select,RecO,RecG,PRNr,KLNr,KLNm,Profiel,Breedte,Hoogte,VolgNr,DSONr,Afm,Lengte,Som,Cnt,Prof,Qty,I Kill ^HULP(%J,"Z"),^HULP(%J,"ZS") Set VolgNr=0,Cnt=0 For Set Cnt=$O(^HADPR("O",Batch,Cnt)) Quit:Cnt="" Do .Set RecO=^HADPR("O",Batch,Cnt) .Set PRNr=$P(RecO,D,3) .Set RecG=$G(^KPR(PRNr,"G")) .Set:RecG="" RecG=$G(^KPRO(PRNr,"G")) .Set KLNr=$P(RecO,D,2) .Set KLNm=$S(KLNr:$P(^KKL(^KK1(KLNr),0),D,2),1:"") .Quit:$P(RecO,D,1)="DV" .Quit:$P(RecO,D,1)="BA" .; Kaderdeur .Set Profiel=$P(RecG,D,2) .Set MinVrGl=$P(^RES("HAD","PI","PROFIEL","D",Profiel),"`",4) .Quit:'MinVrGl .Set Hoogte=$P(RecG,D,8)-(2*MinVrGl)-1 .Set Breedte=$P(RecG,D,9)-(2*MinVrGl)-1 .Set $P(RecO,D,15)=$P(RecG,D,1) ; DOSNr .Set $P(RecO,D,16)=KLNm .Set $P(RecO,D,17)=Profiel .Set VolgNr=VolgNr+1 .Set $P(RecO,D,18)=Hoogte .Set $P(RecO,D,19)=$P(RecG,D,8) .Set ^HULP(%J,"ZS",Profiel,-Hoogte,VolgNr)=RecO .Set $P(RecO,D,18)=Breedte .Set $P(RecO,D,19)=$P(RecG,D,9) .Set ^HULP(%J,"ZS",Profiel,-Breedte,VolgNr)=RecO Quit:'$D(^HULP(%J,"ZS")) Set Cnt=0 Set (Profiel,Afm,VolgNr)="" For Set Profiel=$O(^HULP(%J,"ZS",Profiel)) Quit:Profiel="" Do .Set Som="" .For Set Afm=$O(^HULP(%J,"ZS",Profiel,Afm)) Quit:Afm="" Do ..For Set VolgNr=$O(^HULP(%J,"ZS",Profiel,Afm,VolgNr)) Quit:VolgNr="" Do ...Set RecO=^(VolgNr) ...Set Cnt=Cnt+1 ...Set Lengte=$P(RecO,D,18) ...Set Qty=$P(RecO,D,7) ...Set Som=Som+(Lengte*Qty) ...Set ^HULP(%J,"Z",Cnt)=RecO .Quit:'Som .Set Prof=$P(RecO,D,17) .Set RecO="" .Set $P(RecO,D,17)=Prof .Set $P(RecO,D,18)=Som .Set $P(RecO,D,7)=Som*1.1/3000 ; incl. zaagverlies .Set $P(RecO,D,16)="Totaal" .;Set Cnt=Cnt+1 .;Set ^HULP(%J,"Z",Cnt)=RecO Kill ^HULP(%J,"ZS") Do INIT^vhLISTO("HADOPV","ZAAGL",.PLD) Set PLD(5)=77 Set PLD(10)="CBZAAGL^HADOPV2" Set PLD(11)="HALUX Afboordingszaaglijst"_D_"Batch "_Batch_" : "_$P($G(^HADPR("B",$P(Batch,";"))),D)_D_"Einddatum : "_$$EXTDATE^vhLib.DataTypes($P($G(^HADPR("B",$P(Batches,";"))),D,3),"DK") Set MemProf="" Do PRINT^OUTPUT(.PLD,"P","S","BL") Kill ^HULP(%J,"Z") Quit PRINT(Batches,SubTitel,Type) New PLD,I,Types Set PrintMode="O" If SubTitel'="Overzicht" New DispMode Set DispMode="OP",PrintMode="W" Do:PrintMode="O" INIT^vhLISTO("HADOPV","PRINT",.PLD) Do:PrintMode="W" INIT^vhLISTO("HADOPV","WERKDOC",.PLD) Set PLD(5)=$S(PrintMode="W":79,1:88) Set PLD(10)="CBOVZ^HADOPV2" Set PLD(11)="HALUX "_SubTitel_D_"Batch "_Batches_" : "_$P($G(^HADPR("B",$P(Batches,";"))),D)_D_"Einddatum : "_$$EXTDATE^vhLib.DataTypes($P($G(^HADPR("B",$P(Batches,";"))),D,3),"DK") Do PRINT^OUTPUT(.PLD,"STP","S","BL") Quit CBOVZ(Ref) New Profiel,Fmt,Rec Quit:$L(Ref)=1 "" Set Rec=@Ref Set Fmt=";1" Do CBOVZ^HADOPV(1,Rec) Set Fmt=";1" Set:PrintMode="W" Fmt=";1\BL" Set:PrintMode="W"&(Type="V") Fmt=";1\;2" New KT,KLNr,KLNm,Ref,RefNr ;PRNr gekend in output Set FL(3,2)="" Set PRNr=$P(Rec,D,3) Set FabKey=$$FABKEYB^HADOPV(Rec) Set KT=$P($G(^KPR(PRNr,0)),D,1) Set:KT="" KT=$P($G(^KPRO(PRNr,0)),D,1) Set KLNr=$P(Rec,D,2) Set KLNm=$S(KLNr:$P(^KKL(^KK1(KLNr),0),D,2),1:"") Set FL(3,2)=KLNm_D_KT Set FL(3,3)=$G(^KPR(PRNr,"G")) Set:FL(3,3)="" FL(3,3)=$G(^KPRO(PRNr,"G")) Set FL(3,5)=$G(^HADPR("F",FabKey)) Set FL(3,6)=$G(^HADPR("P",PRNr,"O",1)) Set FL(3,7)=sFL("S") ; Status If DispMode="OG" Do .If $P(Rec,D)="DV" Do ; Diverse ..Set KT="Diverse" .Else Do ..New Prof,Vul,hoogte,Breedte,MinVrGl,VulOms ..Set Prof=$P(FL(3,3),D,2) ..Set Vul=$P(FL(3,3),D,10) ..Set:Vul="" Vul=" " ..Set Hoogte=$P(FL(3,3),D,8) ..Set Breedte=$P(FL(3,3),D,9) ..Set MinVrGl=$P(^RES("HAD","PI","PROFIEL","D",Prof),"`",3) ..Set VulOms=$S(MinVrGl!(Vul'=" "):$$GeefVullingOmschrijving^HADVUL(Vul),1:"**FOUT**") ..Set KT=Vul_$J(Hoogte-MinVrGl,4,0)_"x"_$J(Breedte-MinVrGl,4,0)_$S($L(VulOms):"-"_VulOms,1:"") Set FL(3,2)=KLNm_D_KT Quit Fmt