vhUnitTest.zTryout.PVR.Scrapbook vhTest.Integratie.zTryout.PVR.Scrapbook TECH.Persistent %String 1 Do ##class(zTryout.PVR.Scrapbook).%New().GeefImageIterator() CaseID:%String="" TECH.Iterator ") } #dim PngImageIterator as TECH.Iterator = ..GeefIteratorVanLijstVanBestandNamen("*.png") While PngImageIterator.HasNext() { Do HTMLLijstVanAfbeeldingen.Insert("") } If (HTMLLijstVanAfbeeldingen.Count() = 0) { Do HTMLLijstVanAfbeeldingen.Insert("

Er zijn geen gekopelde afbeeldingen.

") } Do HTMLLijstIteratorVanAfbeeldingen.Reset() Quit HTMLLijstIteratorVanAfbeeldingen ]]>
CaseID:%String="" TECH.Iterator "_ BestandNaam _"") } If (HTMLLijstVanMails.Count() = 0) { Do HTMLLijstVanMails.Insert("

Er zijn geen mails.

") } Do HTMLLijstIteratorVanMails.Reset() Quit HTMLLijstIteratorVanMails ]]>
CaseID:%String="" TECH.Iterator "_ BestandNaam _"") } If (HTMLLijstVanVideos.Count() = 0) { Do HTMLLijstVanVideos.Insert("

Er zijn geen video's.

") } Do HTMLLijstIteratorVanVideos.Reset() Quit HTMLLijstIteratorVanVideos ]]>
Extensie:%String TECH.Iterator Do ##class(zTryout.PVR.Scrapbook).%New().DoeIets() varx:%Integer 1 varx:%Integer %Boolean 1 1 1 TeBewerkenString:%String %String Do ##class(zTryout.PVR.Scrapbook).MakeForLoop() 1 1 TeBewerkenString:%String %String 1 1 Do ##class(zTryout.PVR.Scrapbook).VerwijderNietPrintbareKaraktersDoorSpatie("TEST 123"_$Char(13)_" 13 1515") 1 Tekst:%String %String 1 ProductList:%ListOfDataTypes ProductStart:%String,ProductStop:%String ProductStart:%String,ProductStop:%String 1 PRNrSpaceTower:%String 1 TECH.ListIterator Do ##class(zTryout.PVR.Scrapbook).%New().GlobalRugFix(ProductID) ProductID:%String Do ##class(zTryout.PVR.Scrapbook).%New().GlobalRugFix(ProductID) ProductID:%String Set Lst = ##class(zTryout.PVR.Scrapbook).%New().GeefLijstTbxProducten() Write Lst.Count(),! %ListOfDataTypes 1) If (MustRecalcBSS) { #dim Product As DOM.PM.impl.MaatwerkProductImpl = ProductAPI.GeefProduct(4384493) #dim ProductAPI As DOM.PM.ProductAPI = ##class(DOM.DomeinContext).Instance().GeefProductAPI() #dim IngegevenKenmerken As DOM.PM.Maatwerk.Calc.Common.impl.TBXKenmerken = Product.GeefIngegevenKenmerken() Set WS = ##class(WSimpl.PM.Maatwerk.MaatwerkService.DotNet.GeefMaatwerkDetails).%New() Do WS.GeefMaatwerkDetails(IngegevenKenmerken, "12486", 1) //"KlantID":12486, "ProductData": { "klassenaam":"WSimpl.PM.Maatwerk.MaatwerkService.DotNet.GeefMaatwerkDetails.ProductData", "DossierNummer":"UBFJ", "PRNr":4384493}, "ZijkantLogoData": { "klassenaam":"WSimpl.PM.Maatwerk.MaatwerkService.DotNet.GeefMaatwerkDetails.ZijkantLogoData", "Hoogte":15.9, "IsGratis":false, "Naam":"Fässler"}} }*/ /* If $Data(^PRBS("BS",ProductId,"RUGX.001")) { Do LijstProductIds.Insert(ProductId) } */ If $Data(^PRBS("BS",ProductId,"PRBDHZ.001")) { ;Do ..GlobalRugFix(ProductId) Do ..GlobalBodemFix(ProductId) Do LijstProductIds.Insert(ProductId) } } } Quit LijstProductIds ]]> Alle x38 ruggen Do ##class(zTryout.PVR.Scrapbook).%New().GeefKorttekstVanProduct() ProductID:%Integer TECH.String 0 { If $$$Not(##class(TECH.StringUtils).Equals($Piece(^PRBS("BS",PRNr,"RUGX.001"),"\",1),"1719202","1719204")) { Do DataMProduct.Open(PRNr) If ($Extract(DataMProduct.GeefKorttekst(),24,25) = "LG") { Set $Piece(^PRBS("BS",PRNr,"RUGX.001"),"\",1) = "1719202" } If ($Extract(DataMProduct.GeefKorttekst(),24,25) = "DG") { Set $Piece(^PRBS("BS",PRNr,"RUGX.001"),"\",1) = "1719204" } } } } ]]> Do ##class(zTryout.PVR.Scrapbook).%New().wlipIKTBX(PRNr) PRNr Do ##class(zTryout.PVR.Scrapbook).%New().GenerischProdAanpassen() Do ##class(zTryout.PVR.Scrapbook).%New().PairIdMetLengte() 0) LengteProduct = 0 Write !,"inventTable.VH_Lengte = "_LengteProduct_";" Write !,"inventTable.update();" Write !,"}" Write !,"inventTable = null;" } ]]> Do ##class(zTryout.PVR.Scrapbook).%New().AlleProducten() Do ##class(zTryout.PVR.Scrapbook).%New().AlleProductenAX() 1) ;Set MustRecalcBSS = ($Data(^Prod.Ken.DataIndexD("TBX","DC","MT",ProductId))) ;Set MustRecalcBSS = ($Data(^Prod.Ken.DataIndexD("TBX","NMBDS","1",ProductId))) && ($Data(^PRBS("BSS",ProductId,"PRBDSF.001"))) //&& ($Data(^Prod.Ken.DataIndexD("TBX","DC","MT",ProductId))) ;Set MustRecalcBSS = ($Data(^Prod.Ken.DataIndexD("TBX","BM","TOB",ProductId))) ;Set MustRecalcBSS = ($Data(^Prod.Ken.DataIndexD("TBX","VERPAK","P",ProductId))) || ($Data(^Prod.Ken.DataIndexD("TBX","VERPAK","A",ProductId))) || ($Data(^Prod.Ken.DataIndexD("TBX","VERPAK","B",ProductId))) ;|| ($Data(^Prod.Ken.DataIndexD("TBX","VERPAK","B",ProductId))) ;Set MustRecalcBSS = ($Data(^Prod.Ken.DataIndexD("TBX","VERPAK","P",ProductId))) && ($Data(^Prod.Ken.DataIndexD("TBX","LT","B",ProductId))) ;Set MustRecalcBSS = ($Data(^Prod.Ken.DataIndexD("TBX","BS","INSCHF",ProductId))) //Set MustRecalcBSS = (..GeefTbxKenmerkWaarde(ProductId, "LT") = "L") && (..GeefTbxKenmerkWaarde(ProductId, "IB") > 660) && (..GeefTbxKenmerkWaarde(ProductId, "FS") = "HS") Set MustRecalcBSS = (..GeefTbxKenmerkWaarde(ProductId, "LT") = "L") && (..GeefTbxKenmerkWaarde(ProductId, "IB") > 660) && ((..GeefTbxKenmerkWaarde(ProductId, "FS") = "A") || (..GeefTbxKenmerkWaarde(ProductId, "FS") = "HS")) If (MustRecalcBSS) { #dim Product As DOM.PM.impl.MaatwerkProductImpl = ProductAPI.GeefProduct(ProductId) #dim IngegevenKenmerken As DOM.PM.Maatwerk.Calc.Common.impl.TBXKenmerken = Product.GeefIngegevenKenmerken() If $$$Not(IngegevenKenmerken.FrontOndersteuningAantal > 0) { Set MustRecalcBSS = $$$False } } ;S MustRecalcBSS = ($Length(..GeefTbxKenmerkWaarde(ProductId, "ASM")) > 1) && (..GeefTbxKenmerkWaarde(ProductId, "NMASM") = 0) && (($G(^PRBS("BSS",ProductId, "MAT.001"))) = "") //&& '(..GeefTbxKenmerkWaarde(ProductId, "KLAS") = "SP2") If (MustRecalcBSS) { #dim Product As DOM.PM.impl.MaatwerkProductImpl = ProductAPI.GeefProduct(ProductId) #dim IngegevenKenmerken As DOM.PM.Maatwerk.Calc.Common.impl.TBXKenmerken = Product.GeefIngegevenKenmerken() If IngegevenKenmerkenAPI.HeeftGekoppeldeMat(IngegevenKenmerken) { Set MustRecalcBSS = $$$False } } ;Set MustRecalcBSS = ($$$HasLength(..GeefTbxKenmerkWaarde(ProductId, "ODSP"))) ;Set MustRecalcBSS = (ProductId = 99999999) If MustRecalcBSS { Do LijstProductIds.Insert(ProductId) ;Do ..CleanUpSchaduwBouwstenen(ProductId, SubNode) } } } ;Do LijstProductIds.Insert(1715003) ; Hardcoded toevoegen Quit LijstProductIds } Method CleanUpSchaduwBouwstenen(ProductId As %String, SubNode As %String) [ Private, ProcedureBlock = 0 ] { If $G(SubNode) = "" { Set SubNode = $H } Merge ^PRBS.BackupTBX(SubNode,"BS",ProductId) = ^PRBS("BS",ProductId) ; Gewoon voor de info ook de "BS" backuppen Merge ^PRBS.BackupTBX(SubNode,"BSS",ProductId) = ^PRBS("BSS",ProductId) #dim NoSa As %String = "S" Do ##class(vhLib.OldSchool).InitVars() Do DELOBJ^PRBS(ProductId,NoSa) } Method VerwerkLijstTbxVoorBSS() [ Private ] { #dim Count,StartTijd Set StartTijd=$H #dim ProductId as %String #dim PRNr as %String Set Count=1 #dim ProductTypeAPI As DOM.PM.ProductTypeAPI = ##class(DOM.DomeinContext).Instance().GeefProductTypeAPI() #dim ProductAPI As DOM.PM.ProductAPI = ##class(DOM.DomeinContext).Instance().GeefProductAPI() Set BerekeningServiceProduct = ##class(APPS.PM.Maatwerk.impl.BerekeningServiceProduct).%New() Set VerkoopAPI = ##class(DOM.VKP.impl.VerkoopAPI).%New() Set DotNetMaatwerkService = ##class(WSimpl.PM.Maatwerk.MaatwerkService.DotNet.GeefMaatwerkDetails).%New() Set MaatwerkDetailsConvertor = ##class(WSimpl.PM.Maatwerk.MaatwerkService.DotNet.MaatwerkDetailsFromJsonNaarDomConverter).%New() While ..itProduct.HasNext() { Set ProductId = ..itProduct.Next() Set PRNr= ProductId ;Set ItemID = rs.Data("ItemID") ;Set ConfigID = $G(rs.Data("ConfigID")) #dim KlantNrFromRs As %String = "-" ; $G(rs.Data("KlantNr")) Write !,"VerwerkLijstTbxVoorBSS in loop : "_ProductId_" ... " Do ..CleanUpSchaduwBouwstenen(ProductId) Try { If ((##class(DOM.DomeinContext).Instance().GeefProjectSettingsAPI().IsActiefSchaduwBomBolOmleidingTbxNaarDotNet()) && (ProductAPI.BestaatProduct(PRNr))) { If ($$$Not(PRNr = "") && (ProductTypeAPI.IsTandemboxProduct(PRNr)) && ($Get(^PRBS("BSS",PRNr)) = "")) { #dim KLNr As %String = "K||4682" If (VerkoopAPI.BestaatKlant("K||"_+KlantNrFromRs)) { Set KLNr = "K||"_+KlantNrFromRs } write !,"hiere" #Dim Product As DOM.PM.impl.MaatwerkProductImpl = ProductAPI.GeefProduct(PRNr) Set ProductData = ##class(DOM.PM.dto.ProductData).%New() Set ProductData.PRNr = PRNr Set ProductData.DossierNummer = Product.GeefDossierCode() #dim ProductSpecificatie As DOM.PM.Maatwerk.Calc.Common.ProductSpecificatie = Product.GeefProductSpecificatie() #dim IngegevenKenmerken As DOM.PM.Maatwerk.Calc.Common.impl.TBXKenmerken = ProductSpecificatie.GeefIngegevenKenmerken() If $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.LegacyKenmerken.ItemVPK, "O", "C")) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.VerpakkingType, "O", "C")) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.OpvullijstKleur, "LG")) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.LegacyKenmerken.ItemKLROPVL, "LG")) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.LadeKleur, "OG") && $$$Not(IngegevenKenmerken.LadeDiepte = "400")) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.Toepassing, "SP2") && $$$Not(IngegevenKenmerken.LadeDiepte = "450")) && (##class(TECH.StringUtils).Equals(IngegevenKenmerken.LadeVariant, ##class(DOM.PM.enu.Variant).TandemboxMengvorm(), ##class(DOM.PM.enu.Variant).TandemboxAntaro())) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.LadeVariant, ##class(DOM.PM.enu.Variant).TandemboxMengvorm()) && ((IngegevenKenmerken.LadeDiepte = "270"))) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.RugwandMateriaal, "Staal") && (##class(TECH.StringUtils).Equals(IngegevenKenmerken.InterneBreedte, "361", "411", "461", "661", "961"))) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.RugwandMateriaal, "Staal") && (IngegevenKenmerken.LadeKleur = "OG")) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.RugwandMateriaal, "Staal") && (IngegevenKenmerken.BodemKleur = "WI") && (##class(TECH.StringUtils).Equals(IngegevenKenmerken.InterneBreedte, "278", "368") && (IngegevenKenmerken.PlaatMateriaal = "HA"))) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.Draagkracht, "50")) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.LegacyKenmerken.ItemDK, "50")) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.DwarsverdelingAantal, "2x2")) && $$$Not(..GeefTbxKenmerkWaarde(PRNr, "ODSP") = "RBF") && $$$Not((..GeefTbxKenmerkWaarde(PRNr, "BM") = "TOB") && (..GeefTbxKenmerkWaarde(PRNr, "IB") > 1365)) && $$$Not(##class(TECH.StringUtils).Equals(PRNr, "1206479", "1206477", "1206478", "1206476", "1730845", "943727", "2123385", "943695", "1053871", "552460", "552461", "552464", "552466", "552474", "2743942", "2743941")) { //Product met opvullijst LG , 1730845 is ongeldig, 943727 ongeldige stalen rug, 2123385 spoelbak 450 diep, "943695" rugw staal, 1053871, 552460,552461, 552464, 552466, 552474, stalen rug, 2743941, 2743942 stalen rug voor bodem write !,"hiere ook" Do ..VulAanOntbrekendeTbxKenmerken(IngegevenKenmerken, Product) #dim BerekeningsSpecificatie As DOM.PM.Maatwerk.Calc.Common.BerekeningsSpecificatie = ..GeefBerekeningsSpecificatie(KLNr, 1) #dim HalffabItemsBoom As DOM.PM.Maatwerk.Calc.HF.HalffabItemsBoom #dim KostItem As DOM.PM.Maatwerk.Calc.Kost.SamengesteldKostItem #dim MaatwerkDetails As APPS.PM.Maatwerk.dto.DotNet.MaatwerkDetailsParsedFromJson = DotNetMaatwerkService.GeefMaatwerkDetails(IngegevenKenmerken, KLNr, 1, ProductData) Set HalffabItemsBoom = MaatwerkDetailsConvertor.GeefHalffabItemsBoom(MaatwerkDetails) Set KostItem = MaatwerkDetailsConvertor.GeefKostItems(MaatwerkDetails) Set BouwsteenCreator = ##class(DOM.PM.impl.DataM.DataMBouwsteenCreator).%New() Do BouwsteenCreator.Init(PRNr, ProductSpecificatie, BerekeningsSpecificatie, HalffabItemsBoom, KostItem, $$$True) } } } } Catch { #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() Do Exception.VoegToeExtraInfo("ProductId:"_ProductId) write !,"Log exceptie." Do ##class(vhLib.Logger).LogExceptie(Exception) } ;Do ..ConverteerOne(ProductID, PRNr, ItemID, ConfigID) Set Count=Count+1 Write:-..Debug&(Count#1000=0) !,"Aantal: ",Count," Tijd (in min): ",$$DIFFTIME^vhLib.DataTypes(StartTijd,$H,"M") } } Method VerwerkSpaceTowers() { #dim SubNode As %String Set SubNode = $H try { #dim TbxSpaceTowers As %ListOfDataTypes = ##class(%ListOfDataTypes).%New() #dim TbxProductId As %String = "" Do TbxSpaceTowers.Insert(2126669) Do TbxSpaceTowers.Insert(2126664) Do TbxSpaceTowers.Insert(2127125) Do TbxSpaceTowers.Insert(2127124) Do TbxSpaceTowers.Insert(2127126) Do TbxSpaceTowers.Insert(2126666) #dim iterator As TECH.Iterator = ##class(TECH.ListIterator).%New(TbxSpaceTowers) While iterator.HasNext() { #dim KindProductenIterator = ..GeefKindProductenSpaceTowerIterator(iterator.Next()) While KindProductenIterator.HasNext() { Set TbxProductId = KindProductenIterator.Next() Do ..HerberekenIndienNodigSchaduwbouwstenen(TbxProductId,31259) ;Do ..CleanUpSchaduwBouwstenen(TbxProductId, SubNode) } } Set TbxSpaceTowers = ##class(%ListOfDataTypes).%New() Do TbxSpaceTowers.Insert(2079438) Do TbxSpaceTowers.Insert(2079437) Do TbxSpaceTowers.Insert(2059106) Do TbxSpaceTowers.Insert(2551962) Do TbxSpaceTowers.Insert(2551961) Do TbxSpaceTowers.Insert(2059108) Do TbxSpaceTowers.Insert(2059007) Do TbxSpaceTowers.Insert(2450685) Do TbxSpaceTowers.Insert(2450691) Do TbxSpaceTowers.Insert(2059107) Set iterator = ##class(TECH.ListIterator).%New(TbxSpaceTowers) While iterator.HasNext() { #dim KindProductenIterator2 = ..GeefKindProductenSpaceTowerIterator(iterator.Next()) While KindProductenIterator2.HasNext() { Set TbxProductId = KindProductenIterator2.Next() Do ..HerberekenIndienNodigSchaduwbouwstenen(TbxProductId,24315) ;Do ..CleanUpSchaduwBouwstenen(TbxProductId, SubNode) } } } Catch { #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() Do Exception.VoegToeExtraInfo("AdminProductNummer:"_TbxProductId) Do ##class(vhLib.Logger).LogExceptie(Exception) } } Method GeefKindProductenSpaceTowerIterator(PRNrSpaceTower As %String) As TECH.ListIterator [ Private ] { #dim KindProducten As %ListOfDataTypes = ##class(%ListOfDataTypes).%New() Set SPT = ##class(DOM.PM.impl.DataM.SamengesteldProduct).%New(PRNrSpaceTower) #dim iterator As TECH.Iterator = SPT.GeefKindBouwsteenIterator() While iterator.HasNext() { #dim BouwsteenID As %String = iterator.Next().GeefID() Do KindProducten.Insert($Piece(^PRBS("BS",PRNrSpaceTower, BouwsteenID),"\",1)) } Quit ##class(TECH.ListIterator).%New(KindProducten) } Method Verwerk() { lock +SchaduwPrijsCalculate:10 else Quit ;Set ..Debug=1 Do ..VerwijderAlles() Set StartTijd=$H Do ##class(Tools.Wlip).%New(97).String("In Verwerk: ") Write:..Debug !," ***** VOORRAAD (Zonder CachePerVariant of CachePerItem) *****" Set ..itProduct=##class(AXProductIteratorZonderAdmin).%New() Do ..VerwerkLijst() Write:..Debug !," ***** SETS (CachePerItem) *****" Set ..itProduct=##class(AXProductIteratorPerItem).%New() Do ..VerwerkLijst() Write:..Debug !," ***** MAATWERK (CachePerVariant) *****" Set ..itProduct=##class(AXProductIterator).%New() Do ..VerwerkLijst() ;Do ..VerwerkSpaceTowers() lock -SchaduwPrijsCalculate:0 Write:..Debug !,"Verwerkingstijd (in min): ",$$DIFFTIME^vhLib.DataTypes(StartTijd,$H,"M"),! Read:..Debug "Druk op enter om verder te gaan" K } Method VerwerkLijst() { Set StartTijd=$H #dim lbProductIDs as %List #dim ProductID as %String #dim RecID as %String #dim PRNr as %String #dim GenTyp as %String Set Count=1 #dim ProductAPI As DOM.PM.ProductAPI = ##class(DOM.DomeinContext).Instance().GeefProductAPI() #dim ProductTypeAPI As DOM.PM.ProductTypeAPI = ##class(DOM.DomeinContext).Instance().GeefProductTypeAPI() While ..itProduct.HasNext() { Set rs=..itProduct.Next() Set ProductID=rs.Data("ProductID") Set PRNr=$G(rs.Data("AdminProductNummer")) Set ItemID=rs.Data("ItemID") Set ConfigID=$G(rs.Data("ConfigID")) try { If ($$$Not(PRNr = "") && (##class(DOM.DomeinContext).Instance().GeefProjectSettingsAPI().IsActiefSchaduwBomBolOmleidingTbxNaarDotNet()) && (ProductAPI.BestaatProduct(PRNr))) { Do ..HerberekenIndienNodigSchaduwbouwstenen(PRNr, rs.Data("KlantNr")) } } Catch { #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() Do Exception.VoegToeExtraInfo("ProductId:"_ProductID_ " AdminProductNummer:"_PRNr) ;write !,"Log exceptie." Do ##class(vhLib.Logger).LogExceptie(Exception) } Do ..ConverteerOne(ProductID, PRNr, ItemID, ConfigID) Set Count=Count+1 Write:-..Debug&(Count#1000=0) !,"Aantal: ",Count," Tijd (in min): ",$$DIFFTIME^vhLib.DataTypes(StartTijd,$H,"M") ;Quit:($G(^LOG.TellerSchaduwTbx(+$H)) > 1) } } Method HerberekenIndienNodigSchaduwbouwstenen(PRNr As %String, KlantNr As %String) { #dim ProductTypeAPI As DOM.PM.ProductTypeAPI = ##class(DOM.DomeinContext).Instance().GeefProductTypeAPI() #dim ProductAPI As DOM.PM.ProductAPI = ##class(DOM.DomeinContext).Instance().GeefProductAPI() Set BerekeningServiceProduct = ##class(APPS.PM.Maatwerk.impl.BerekeningServiceProduct).%New() Set VerkoopAPI = ##class(DOM.VKP.impl.VerkoopAPI).%New() Set DotNetMaatwerkService = ##class(WSimpl.PM.Maatwerk.MaatwerkService.DotNet.GeefMaatwerkDetails).%New() Set MaatwerkDetailsConvertor = ##class(WSimpl.PM.Maatwerk.MaatwerkService.DotNet.MaatwerkDetailsFromJsonNaarDomConverter).%New() If ($$$Not(PRNr = "") && (ProductAPI.BestaatProduct(PRNr)) && (ProductTypeAPI.IsTandemboxProduct(PRNr)) && ($Get(^PRBS("BSS",PRNr)) = "")) { #dim Klnr As %String = "K||4682" If (VerkoopAPI.BestaatKlant("K||"_+KlantNr)) { Set Klnr = "K||"_+KlantNr } #Dim Product As DOM.PM.impl.MaatwerkProductImpl = ProductAPI.GeefProduct(PRNr) Set ProductData = ##class(DOM.PM.dto.ProductData).%New() Set ProductData.PRNr = PRNr Set ProductData.DossierNummer = Product.GeefDossierCode() #dim ProductSpecificatie As DOM.PM.Maatwerk.Calc.Common.ProductSpecificatie = Product.GeefProductSpecificatie() #dim IngegevenKenmerken As DOM.PM.Maatwerk.Calc.Common.impl.TBXKenmerken = ProductSpecificatie.GeefIngegevenKenmerken() If ( $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.LegacyKenmerken.ItemVPK, "O", "C")) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.VerpakkingType, "O", "C")) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.LadeKleur, "OG") && $$$Not(IngegevenKenmerken.LadeDiepte = "400")) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.Toepassing, "SP2") && $$$Not(IngegevenKenmerken.LadeDiepte = "450")) && (##class(TECH.StringUtils).Equals(IngegevenKenmerken.LadeVariant, ##class(DOM.PM.enu.Variant).TandemboxMengvorm(), ##class(DOM.PM.enu.Variant).TandemboxAntaro())) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.LadeVariant, ##class(DOM.PM.enu.Variant).TandemboxMengvorm()) && ((IngegevenKenmerken.LadeDiepte = "270"))) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.RugwandMateriaal, "Staal") && (##class(TECH.StringUtils).Equals(IngegevenKenmerken.InterneBreedte, "361", "411", "461", "661", "961"))) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.RugwandMateriaal, "Staal") && (IngegevenKenmerken.LadeKleur = "OG")) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.RugwandMateriaal, "Staal") && (IngegevenKenmerken.BodemKleur = "WI") && (##class(TECH.StringUtils).Equals(IngegevenKenmerken.InterneBreedte, "278", "368") && (IngegevenKenmerken.PlaatMateriaal = "HA"))) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.Draagkracht, "50")) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.LegacyKenmerken.ItemDK, "50")) && $$$Not(##class(TECH.StringUtils).Equals(IngegevenKenmerken.DwarsverdelingAantal, "2x2")) && $$$Not(..GeefTbxKenmerkWaarde(PRNr, "ODSP") = "RBF") && $$$Not((..GeefTbxKenmerkWaarde(PRNr, "BM") = "TOB") && (..GeefTbxKenmerkWaarde(PRNr, "IB") > 1365)) && $$$Not(##class(TECH.StringUtils).Equals(PRNr, "1206479", "1206477", "1206478", "1206476", "1730845", "943727", "2123385", "943695", "1053871", "552460", "552461", "552464", "552466", "552474", "2743942", "2743941"))) { //Product met opvullijst LG , 1730845 is ongeldig, 943727 ongeldige stalen rug, 2123385 spoelbak 450 diep, "943695" rugw staal, 1053871, 552460,552461, 552464, 552466, 552474, 2743941, 2743942 stalen rug Do ..VulAanOntbrekendeTbxKenmerken(IngegevenKenmerken, Product) #dim BerekeningsSpecificatie As DOM.PM.Maatwerk.Calc.Common.BerekeningsSpecificatie = ..GeefBerekeningsSpecificatie(Klnr, 1) #dim HalffabItemsBoom As DOM.PM.Maatwerk.Calc.HF.HalffabItemsBoom #dim KostItem As DOM.PM.Maatwerk.Calc.Kost.SamengesteldKostItem #dim MaatwerkDetails As APPS.PM.Maatwerk.dto.DotNet.MaatwerkDetailsParsedFromJson = DotNetMaatwerkService.GeefMaatwerkDetails(IngegevenKenmerken, Klnr, 1, ProductData) Set HalffabItemsBoom = MaatwerkDetailsConvertor.GeefHalffabItemsBoom(MaatwerkDetails) Set KostItem = MaatwerkDetailsConvertor.GeefKostItems(MaatwerkDetails) Set ^LOG.TellerSchaduwTbx(+$H) = $Get(^LOG.TellerSchaduwTbx(+$H)) +1 Set BouwsteenCreator = ##class(DOM.PM.impl.DataM.DataMBouwsteenCreator).%New() Do BouwsteenCreator.Init(PRNr, ProductSpecificatie, BerekeningsSpecificatie, HalffabItemsBoom, KostItem, $$$True) } } } /// Deze method zouden we kunnen verplaatsen naar de klasse die verantwoordelijk is voor het foutief invullen van de kenmerken, nl. APPS.PM.Maatwerk.TBX.Conversie.KenmerkConvertor Method VulAanOntbrekendeTbxKenmerken(TbxKenmerken As DOM.PM.Maatwerk.Calc.Common.impl.TBXKenmerken, TbxProduct As DOM.PM.impl.MaatwerkProductImpl) [ Private ] { #dim ProductId As %String = TbxProduct.GeefID() If (TbxKenmerken.GeleiderTechnologie = "") { Set TbxKenmerken.GeleiderTechnologie = ..GeefTbxKenmerkWaarde(ProductId, "BM") } If ((TbxKenmerken.VerpakkingType = "Z") || (TbxKenmerken.LegacyKenmerken.ItemVPK = "Z")) { Set TbxKenmerken.VerpakkingType = "S" } If (##class(TECH.StringUtils).Equals(ProductId, "2285815", "2285816")) { Set TbxKenmerken.BodemKleur = "LG" } If (ProductId = 2938280) { Set TbxKenmerken.RugHoogte = "M" } If (ProductId = 2947118) { //Ontbrekende mat #dim MATKenmerken As DOM.PM.Maatwerk.Calc.Common.impl.MATKenmerken = ##class(DOM.PM.Maatwerk.Calc.Common.impl.MATKenmerken).%New() Set MATKenmerken.Breedte = 779 Set MATKenmerken.Diepte = 373 Set MATKenmerken.Kleur = "S-AZ" Set MATKenmerken.Materiaal = "AZ" Set MATKenmerken.Type = ##class(DOM.PM.enu.MatType).Basis() Set MATKenmerken.ExplicietGekozenKenmerken = ##class(%ListOfDataTypes).%New() Set MATKenmerken.NietMeeleveren = ##class(%ListOfDataTypes).%New() Set MATKenmerken.Onderdelen = ##class(%ListOfDataTypes).%New() Set MATKenmerken.ProductieWijze = "" Set MATKenmerken.VersieNr = 0 Do TbxKenmerken.GekoppeldeIngegevenKenmerken.SetAt(MATKenmerken, ##class(DOM.PM.Maatwerk.Calc.Common.enu.GekoppeldIKType).MatX()) } If (ProductId = 2934047) { //Ontbrekende mat #dim MATKenmerken As DOM.PM.Maatwerk.Calc.Common.impl.MATKenmerken = ##class(DOM.PM.Maatwerk.Calc.Common.impl.MATKenmerken).%New() Set MATKenmerken.Breedte = 679 Set MATKenmerken.Diepte = 473 Set MATKenmerken.Kleur = "FA" Set MATKenmerken.Materiaal = "AF" Set MATKenmerken.Type = ##class(DOM.PM.enu.MatType).Basis() Set MATKenmerken.ExplicietGekozenKenmerken = ##class(%ListOfDataTypes).%New() Set MATKenmerken.NietMeeleveren = ##class(%ListOfDataTypes).%New() Set MATKenmerken.Onderdelen = ##class(%ListOfDataTypes).%New() Set MATKenmerken.ProductieWijze = "" Set MATKenmerken.VersieNr = 0 Do TbxKenmerken.GekoppeldeIngegevenKenmerken.SetAt(MATKenmerken, ##class(DOM.PM.Maatwerk.Calc.Common.enu.GekoppeldIKType).MatX()) } If (##class(TECH.StringUtils).Equals(ProductId, "2961220", "2953362", "2989712", "2923957", "2944597", "2952726", "2952726", "2954154", "2954157", "3002851", "2941153", "2979679", "2875878", "2879832")) { Do TbxKenmerken.NietMeeleveren.Insert("TiponBlumotionSynchronisatieStang") Do TbxKenmerken.NietMeeleveren.Insert("TiponBlumotionSynchronisatieToebehoren") Do TbxKenmerken.NietMeeleveren.Insert("TiponBlumotionSet") } If (##class(TECH.StringUtils).Equals(..GeefTbxKenmerkWaarde(ProductId, "NMBDS"), "1")) { Do TbxKenmerken.NietMeeleveren.Insert("Bodemsteun") } If $$$Not(##class(TECH.StringUtils).Equals(..GeefTbxKenmerkWaarde(ProductId, "ODSP"), "", "X")) { Set TbxKenmerken.ProductieWijze = ..GeefTbxKenmerkWaarde(ProductId, "ODSP") } } /// Geeft alleen de eerste waarde van de DataDefinitie Method GeefTbxKenmerkWaarde(UnID As %String, KenmerkNaam As %String) As %String [ Private ] { #dim GroepID As %String = "TBX" #dim lbDataDefinitie As %List = ##class(Prod.Kenmerk.DataDefinitie).Get(GroepID, UnID, KenmerkNaam) Quit $LG(lbDataDefinitie,1) } Method ConverteerOne(ProductID As %String, PRNr As %String, ItemID As %String, ConfigID As %String) { If ..AddOnly&&('##class(SchaduwPrijs).%ExistsId(ProductID)) { Do ##class(SchaduwPrijs).%DeleteId(ProductID) Do ..Add(ProductID, PRNr, ItemID, ConfigID) } } Method Add(ProductID As %String, PRNr As %String, ItemID As %String, ConfigID As %String) { If 'PRNr,ProductID'[":" ; Alleen Identnr zonder configuratie { Set PRNr=..Translator.GeefPRNrForAdmin(ProductID) } If PRNr && $D(^KPR(PRNr,0)) && $D(^KPR(PRNr,1)) && ($E($$$PRGet($$$KortTekst),1,3)'="GEN") && $D(^PRBS("BS",PRNr)) { Set Q="K", D="\",U=";" Set SchaduwPrijs=##class(SchaduwPrijs).%New() Set SchaduwPrijs.ProductID=ProductID Set SchaduwPrijs.ItemID=ItemID Set SchaduwPrijs.ConfigID=ConfigID Do SchaduwPrijs.AdminProductSetObjectId(PRNr) Set SchaduwPrijs.FutureCostPrice=+$J($$CifPPL^KPRIJS(PRNr,"S"),0,2)*100 Set SchaduwPrijs.FutureUnitPrice=100 Set SchaduwPrijs.CurrentCostPrice=+$J($$CifPPL^KPRIJS(PRNr,"N"),0,2)*100 Set SchaduwPrijs.CurrentUnitPrice=100 Do SchaduwPrijs.Save() } } Method GeefBerekeningsSpecificatie(KlantID As DOM.VKP.VanHoeckeKlantID, Aantal As %Integer) As DOM.PM.Maatwerk.Calc.Common.BerekeningsSpecificatie [ Private ] { #dim Personality As DOM.common.impl.Personality = ##class(DOM.common.VanHoeckePersonality).Instance() Quit ##class(DOM.PM.Maatwerk.Calc.Common.BerekeningsSpecificatie).%New(Aantal, KlantID, Personality) } } */ ]]> 1 Do ##class(zTryout.PVR.Scrapbook).%New().gg() 1" #Dim QueryAPI As TECH.Query.QueryAPI = ##class(TECH.Context).Instance().GeefQueryAPI() #dim ResultSet As TECH.ResultSet = QueryAPI.GetResultSet(##class(TECH.DynamicQuery).%New(SqlStatement,$LB())) If ResultSet.Next() { Set Afdekkap = ResultSet.GetData(1) } Else { Do ##class(TECH.Exceptions.DataNotFoundException).Throw("Geen data gevonden voor '"_SqlStatement_"'.") } ]]> Do ##class(zTryout.PVR.Scrapbook).%New().GeefVolumetrieRequestVoorBon(BonNr) BonNr:%String 1) { Set aantal = $P(^KUL(KlantNr, "F", BonNr, teller), "\", 3) Write "{",! Write $Char(34)_"lijnId"_$Char(34)_": " _$Char(34)_teller_$Char(34)_",",! Write $Char(34)_"pickZone"_$Char(34)_": " _$Char(34)_""_$Char(34)_",",! Write $Char(34)_"itemId"_$Char(34)_": " _$Char(34)_ProductAPI.GeefIdentNummerVoorProductId(productId)_$Char(34)_",",! Write $Char(34)_"aantal"_$Char(34)_": " _aantal_",",! Write $Char(34)_"level"_$Char(34)_": " _"0"_",",! Write $Char(34)_"configId"_$Char(34)_": " _$Char(34)_""_$Char(34)_",",! Write $Char(34)_"orderId"_$Char(34)_": " _$Char(34)_""_$Char(34)_",",! Write $Char(34)_"inventTransId"_$Char(34)_": " _$Char(34)_""_$Char(34)_",",! Write $Char(34)_"klantId"_$Char(34)_": " _$Char(34)_KlantNr_$Char(34)_",",! Write $Char(34)_"multiPersonalityId"_$Char(34)_": " _$Char(34)_""_$Char(34),! Write "},",! } Set teller = teller +1 } If $Data(^KUL(KlantNr, "F", BonNr, teller)) { Set productId = $P(^KUL(KlantNr, "F", BonNr, teller), "\", 2) Set aantal = $P(^KUL(KlantNr, "F", BonNr, teller), "\", 3) Write "{",! Write $Char(34)_"lijnId"_$Char(34)_": " _$Char(34)_teller_$Char(34)_",",! Write $Char(34)_"pickZone"_$Char(34)_": " _$Char(34)_""_$Char(34)_",",! Write $Char(34)_"itemId"_$Char(34)_": " _$Char(34)_ProductAPI.GeefIdentNummerVoorProductId(productId)_$Char(34)_",",! Write $Char(34)_"aantal"_$Char(34)_": " _aantal_",",! Write $Char(34)_"level"_$Char(34)_": " _"0"_",",! Write $Char(34)_"configId"_$Char(34)_": " _$Char(34)_""_$Char(34)_",",! Write $Char(34)_"orderId"_$Char(34)_": " _$Char(34)_""_$Char(34)_",",! Write $Char(34)_"inventTransId"_$Char(34)_": " _$Char(34)_""_$Char(34)_",",! Write $Char(34)_"klantId"_$Char(34)_": " _$Char(34)_KlantNr_$Char(34)_",",! Write $Char(34)_"multiPersonalityId"_$Char(34)_": " _$Char(34)_""_$Char(34),! Write "}",! } Write "],",! Write $Char(34)_"lijstId"_$Char(34)_": " _$Char(34)_BonNr_$Char(34),! Write "}",! ]]> 1 orderlijn, voor alle lijnen behalve laatste Write "{"_$Char(34)_"lijnId"_$Char(34)_": " _$Char(34)_teller_$Char(34)_","_$Char(34)_"pickZone"_$Char(34)_": " _$Char(34)_""_$Char(34)_","_$Char(34)_"itemId"_$Char(34)_": " _$Char(34)_ProductAPI.GeefIdentNummerVoorProductId(productId)_$Char(34)_","_$Char(34)_"aantal"_$Char(34)_": " _aantal_","_$Char(34)_"level"_$Char(34)_": " _"0"_","_$Char(34)_"configId"_$Char(34)_": " _$Char(34)_""_$Char(34)_","_$Char(34)_"orderId"_$Char(34)_": " _$Char(34)_""_$Char(34)_","_$Char(34)_"inventTransId"_$Char(34)_": " _$Char(34)_""_$Char(34)_","_$Char(34)_"klantId"_$Char(34)_": " _$Char(34)_KlantNr_$Char(34)_","_$Char(34)_"multiPersonalityId"_$Char(34)_": " _$Char(34)_""_$Char(34)_ "},",! //Laatste lijn order Write "{"_$Char(34)_"lijnId"_$Char(34)_": " _$Char(34)_teller_$Char(34)_","_$Char(34)_"pickZone"_$Char(34)_": " _$Char(34)_""_$Char(34)_","_$Char(34)_"itemId"_$Char(34)_": " _$Char(34)_ProductAPI.GeefIdentNummerVoorProductId(productId)_$Char(34)_","_$Char(34)_"aantal"_$Char(34)_": " _aantal_","_$Char(34)_"level"_$Char(34)_": " _"0"_","_$Char(34)_"configId"_$Char(34)_": " _$Char(34)_""_$Char(34)_","_$Char(34)_"orderId"_$Char(34)_": " _$Char(34)_""_$Char(34)_","_$Char(34)_"inventTransId"_$Char(34)_": " _$Char(34)_""_$Char(34)_","_$Char(34)_"klantId"_$Char(34)_": " _$Char(34)_KlantNr_$Char(34)_","_$Char(34)_"multiPersonalityId"_$Char(34)_": " _$Char(34)_""_$Char(34)_"}" Write "],"_$Char(34)_"lijstId"_$Char(34)_": " _$Char(34)_BonNr_$Char(34)_"}" } */ ]]> Do ##class(zTryout.PVR.Scrapbook).%New().StuurVolumetrieRequestVoorOrder2() Do ##class(zTryout.PVR.Scrapbook).%New().SchrijfVertalingenNaarBestand(Taal) Taal:%String Do ##class(zTryout.PVR.Scrapbook).%New().SchrijfVertalingenAlgNaarBestand("N") Taal:%String Do ##class(zTryout.PVR.Scrapbook).%New().SchrijfAlleKleurVanTaal() Taal:%String Inputjson:%String 1 %Net.HttpRequest Do ##class(zTryout.PVR.Scrapbook).%New().SchrijfBonLijnen() BonID:%String d ##class(zTryout.PVR.Scrapbook).%New().GeefBoxData(180041) PRNr 1 Do ;aantal verdelen overmeerdere dozen . . Set lbQty=..SplitQty(Qty,oData.MaxCombinAantal) . Else Do ; Geen meerdere aantallen van het zelfde product in 1 doos . . Set lbQty=$LB($LB(Qty,0)) . . For LoopCnt=1:1:$LL(lbQty) Do . . Set ProdQty=$LG($LI(lbQty,LoopCnt),2) . . Set Qty=$LG($LI(lbQty,LoopCnt),1) . . Set Params("PRODAANTAL")=ProdQty . . Set Params("AANTAL")=Qty . . Set Breedte=..Calc(oData.BreedteExec,.Params) . . Set Diepte=..Calc(oData.DiepteExec,.Params) . . Set Hoogte=..Calc(oData.HoogteExec,.Params) &sql(CLOSE GetVolume) */ ]]> 1 1 DossierCode:%String,Variant:%String Do ##class(zTryout.PVR.Scrapbook).LeesVhConfig() 1 1 JsonStream:%Stream,RootObjectClassname:%String 1 TECH.RegisteredObject Do ##class(zTryout.PVR.Scrapbook).PowerToolVhConfigCID() 1 CID:%String %Library.CacheStorage ^zTryout.PVR.ScrapbookD ScrapbookDefaultData ^zTryout.PVR.ScrapbookD ^zTryout.PVR.ScrapbookI ^zTryout.PVR.ScrapbookS %%CLASSNAME Prop