PVKADLean #include Prod.Product #include vhLib.Macro zaagbatch set Dev=$$OPEN^vhDEV(,"LBX plaatwissel.txt","W","T") Use Dev d header Use 0 set rs =##class(%ResultSet).%New("%DynamicQuery:SQL") Set sc = rs.Prepare("select distinct BatchID, Lijn from APPS_Halux_PPS_Activiteit_impl_common_dto.HoffmannZaagUitvoeringInfo zui join APPS_Halux_common_impl.BatchImpl bi on bi.id=zui.Batchid") If sc'=1 Do DisplayError^%apiOBJ(sc) Quit set sc=rs.Execute() If sc'=1 Do DisplayError^%apiOBJ(sc) Quit while rs.%Next() { Set BatchID=rs.Data("BatchID") Set Lijn=rs.Data("Lijn") Use 0 write BatchID," " use Dev Do zaaglijst(BatchID,Lijn) } Do CLOSE^vhDEV(Dev) Quit header Write "ZaagID" Write *9,"Lijn" Write *9,"PRNr" Write *9, "KortTekst" Write *9, "Categorie" Write *9, "BatchID" Write *9, "TOENr" Write *9, "DOSNr " Write *9, "SequenceNr " Write *9, "DeelAantal" Write *9, "TotaalAantal " Write *9, "Status " Write *9,"Transferlijn" Write *9,"BodemRug" Write *9,"OpmetenBodem " Write *9, "B Bewerking " Write *9, "B KleurZichtbaar " Write *9, "B Kleur2de" Write *9, "B Hoogte " Write *9, "B HoogteOms " Write *9, "B Breedte " Write *9, "B PlaatLengte" Write *9, "B NodigePlaatLengte" Write *9, "B ProductNr" Write *9, "B ChangeAfter" Write *9, "B LengteUntilChange" Write *9, "R KleurZichtbaar " Write *9, "R Kleur2de" Write *9, "R Hoogte " Write *9, "R HoogteOms " Write *9, "R Breedte " Write *9, "R PlaatLengte" Write *9, "R NodigePlaatLengte" Write *9, "R ProductNr" Write *9, "R ChangeAfter" Write *9, "R LengteUntilChange" Write ! Quit zaaglijst(BatchID,Lijn) Set bl=##class(APPS.Halux.PPS.TBXZaag.impl.LijstHelperVoorLBX).%New() Set zaaglijst=bl.GetZaagLijst(BatchID,"") Set it=##class(TECH.ListIterator).%New(zaaglijst) while it.HasNext() { Set Opdracht=it.Next() Write Opdracht.ZaagID Write *9,Lijn Write *9,Opdracht.PRNr Write *9, Opdracht.KortTekst Write *9, Opdracht.Categorie Write *9, Opdracht.BatchID Write *9, Opdracht.TOENr Write *9, Opdracht.DOSNr Write *9, Opdracht.SequenceNr Write *9, Opdracht.DeelAantal Write *9, Opdracht.TotaalAantal Write *9, Opdracht.Status Write *9,Opdracht.Transferlijn Write *9,Opdracht.BodemRug Write *9,Opdracht.OpmetenBodem Set dtoPlaat = Opdracht.Bodem Write *9, dtoPlaat.Bewerking Write *9, dtoPlaat.KleurZichtbaar Write *9, dtoPlaat.Kleur2de Write *9, dtoPlaat.Hoogte Write *9, dtoPlaat.HoogteOms Write *9, $$$ExcelNum(dtoPlaat.Breedte) Write *9, $$$ExcelNum(dtoPlaat.PlaatLengte) Write *9, $$$ExcelNum(dtoPlaat.NodigePlaatLengte) Write *9, dtoPlaat.ProductNr Write *9, $$$ExcelNum(dtoPlaat.ChangeAfter) Write *9,dtoPlaat.LengteUntilChange ;Write *9, dtoPlaat.ImageURL Set dtoPlaat = Opdracht.Rug Write *9, dtoPlaat.KleurZichtbaar Write *9, dtoPlaat.Kleur2de Write *9, dtoPlaat.Hoogte Write *9, dtoPlaat.HoogteOms Write *9, $$$ExcelNum(dtoPlaat.Breedte) Write *9, $$$ExcelNum(dtoPlaat.PlaatLengte) Write *9, $$$ExcelNum(dtoPlaat.NodigePlaatLengte) Write *9, dtoPlaat.ProductNr Write *9, $$$ExcelNum(dtoPlaat.ChangeAfter) Write *9,dtoPlaat.LengteUntilChange ;Write *9, dtoPlaat.ImageURL Write ! } q test Set Dev=0 Set Dev=$$OPEN^vhDEV(,"KAD Kenmerken.txt","W") Use Dev Do WriteTitel Do WriteOne(430360,"",1) Do WriteOne(409118,"",1) Do WriteOne(267202,"",1) Do WriteOne(447419,"",1) Do WriteOne(190266,"",1) Close:0'[Dev Dev q Lijst Set Dev=0 Set Dev=$$OPEN^vhDEV(,"KAD Kenmerken.txt","W") Use Dev Do WriteTitel Set VanWeek=$$CALCDATE^vhLib.DataTypes($H,"W",-4,"FD") Set TotWeek=$$CALCDATE^vhLib.DataTypes($H,"W",-1,"LD") Set PRNr=0 For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . Set lbKenm="" . Quit:$P($$GENTYP^HAD(PRNr),"\",1,2)'="KAD\" . For Week=VanWeek:7:TotWeek Do . . Do HISTO^STAT(PRNr,Week,Week+6,"I","M",.Cumul,.Aantal) . . Quit:'Aantal . . Do WriteOne(PRNr,Week,Aantal) Close:0'[Dev Dev Quit WriteTitel Write $TR("PRNr,ProdNm,Week,Aantal",",",$c(9)) Write $TR(",ProfType,ProfAfw,MaxLen,MaxCode,MinLen,MinCode,IsOmManteld,IsKleef,ControleZijde,IsTranspVul,Verpak",",",$c(9)) Write $TR(",KalQty,ProfLeg,ProfKantel,ToolWisselQty,BorQtyK,BorQtyG,GlasBorQty",",",$c(9)) Write ! Quit WriteOne(PRNr,Week,Aantal) Do GetOne(PRNr,1,.lbKenm,.lbBor) ; 1 of Aantal , belangrijk voor frezen Quit:lbKenm="" Write PRNr,*9,$$$PRGet($$$KortTekst),*9,$$EXTDATE^vhLib.DataTypes(Week,"DK"),*9,Aantal Write *9,$$ListToPieces^vhLib(lbKenm,$C(9)) Write *9,$$ListToPieces^vhLib(lbBor,$C(9)) Write ! Quit GetOne(PRNr,Aantal,lbKenm,lbBor) Set lbKenm="" Set KadNr=$P($G(^KPR(PRNr,"G")),"\",13) Quit:KadNr'?1.7N Set oKad=##class(Prod.GADef.KaderDeur).%OpenId(KadNr) ;w oKad.%Id() Quit:'$isObject(oKad) Set lbKenm=$$GetKenmerken(oKad) Quit:lbKenm="" Set lbBor=$$GetBoringen(oKad,Aantal) Quit GetKenmerken(oKad) ; . . . Set Hoogte=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("KAD",PRNr,"PH")) Set MaxLen=$S(oKad.Breedte>oKad.Hoogte:oKad.Breedte,1:oKad.Hoogte)\1 Set MaxCode=$S(MaxLen<600:"K",MaxLen<1600:"M",1:"G") Set MinLen=$S(oKad.Breedte