Index: vhTest/Mock/BL/PPS/TBX/DocsV1/HtmlInhoudProboxEtiketBepaler.cls.xml =================================================================== diff -u -r65873 -r65883 --- vhTest/Mock/BL/PPS/TBX/DocsV1/HtmlInhoudProboxEtiketBepaler.cls.xml (.../HtmlInhoudProboxEtiketBepaler.cls.xml) (revision 65873) +++ vhTest/Mock/BL/PPS/TBX/DocsV1/HtmlInhoudProboxEtiketBepaler.cls.xml (.../HtmlInhoudProboxEtiketBepaler.cls.xml) (revision 65883) @@ -23,9 +23,9 @@ -ProductNummer:%String,OrderId:%String,ProductInfoLijst:TECH.KeyValue.UniqueList +ProductNummer:%String,OrderId:%String,ProductInfoLijst:TECH.KeyValue.UniqueList,ToeleveringId:%String %String - Index: vhUnitTest/BL/PPS/TBX/DocsV1/HtmlInhoudProboxEtiketBepaler/BepaalHtmlInhoudProboxEtiket/Test.cls.xml =================================================================== diff -u -r65872 -r65883 --- vhUnitTest/BL/PPS/TBX/DocsV1/HtmlInhoudProboxEtiketBepaler/BepaalHtmlInhoudProboxEtiket/Test.cls.xml (.../Test.cls.xml) (revision 65872) +++ vhUnitTest/BL/PPS/TBX/DocsV1/HtmlInhoudProboxEtiketBepaler/BepaalHtmlInhoudProboxEtiket/Test.cls.xml (.../Test.cls.xml) (revision 65883) @@ -64,7 +64,7 @@ 1 - + vhTest.Mock.DOM.VKP.OrderAPI 1 @@ -116,8 +116,8 @@ Do ProductLijn.IndienMethodCall("GeefProjectReferentie").DanReturn("TestReferentie") #dim OrderStub As DOM.VKP.Order = ##class(vhTest.Utils.DOM.VKP.Order).StandaardOrder() Do OrderStub.IndienMethodCall("GeefOrderLijn", "").DanReturn(ProductLijn) - Set ..OrderApiMock = ##class(vhTest.Mock.DOM.VKP.OrderAPI).%New() - Do ..OrderApiMock.VerwachtMethodCall("GeefOrder", "").DanReturn(OrderStub) + Set ..OrderApiStub = ##class(vhTest.Mock.DOM.VKP.OrderAPI).%New() + Do ..OrderApiStub.IndienMethodCall("GeefOrder", "").DanReturn(OrderStub) ]]> @@ -133,17 +133,15 @@ Set ConfiguratorServiceMock = ##class(vhTest.Mock.APPS.VKP.Maatwerk.ConfiguratorService).%New() Do ConfiguratorServiceMock.VerwachtMethodCall("GeefOnverwerkteKenmerkenVanProduct",$$$ElkeWaarde).ExactAantalKeer(3).DanReturn(IngegevenKenmerkenStub) - Set InhoudBepaler = ##class(BL.PPS.TBX.DocsV1.HtmlInhoudProboxEtiketBepaler).%New(..ProductApiStub, ConfiguratorServiceMock, ..OrderApiMock) + Set InhoudBepaler = ##class(BL.PPS.TBX.DocsV1.HtmlInhoudProboxEtiketBepaler).%New(..ProductApiStub, ConfiguratorServiceMock, ..OrderApiStub) #dim Resultaat As %String = InhoudBepaler.BepaalHtmlInhoudProboxEtiket(..DnaCodeIterator) - Do $$$AssertEquals(##class(TECH.StringUtils).Occurrences(Resultaat,""),7) //7 rijen in tabel (3 producten + referentie elk product + header) + Do $$$AssertEquals(##class(TECH.StringUtils).Occurrences(Resultaat,""),4) // 4 rijen in tabel (3 producten + header) Do $$$AssertEquals(##class(TECH.StringUtils).Occurrences(Resultaat,"td align=""center"">1"),1) //eerste product heeft aantal 1 Do $$$AssertEquals(##class(TECH.StringUtils).Occurrences(Resultaat,"td align=""center"">2"),1) //tweede product heeft aantal 2 Do $$$AssertEquals(##class(TECH.StringUtils).Occurrences(Resultaat,"td align=""center"">3"),1) //derde product heeft aantal 3 - Do $$$AssertEquals(##class(TECH.StringUtils).Occurrences(Resultaat,"td colspan = ""6"" align=""left"">TestReferentie"),3) //elk product heeft een referentie Do ConfiguratorServiceMock.Verifieer() - Do ..OrderApiMock.Verifieer() ]]> @@ -157,14 +155,13 @@ Do ..ProductImplMock.VerwachtMethodCall("GeefLadeCode",).ExactAantalKeer(3) Do ..ProductApiStub.IndienMethodCall("GeefProduct",$$$ElkeWaarde).DanReturn(..ProductImplMock) - Set InhoudBepaler = ##class(BL.PPS.TBX.DocsV1.HtmlInhoudProboxEtiketBepaler).%New(..ProductApiStub, ConfiguratorServiceMock, ..OrderApiMock) + Set InhoudBepaler = ##class(BL.PPS.TBX.DocsV1.HtmlInhoudProboxEtiketBepaler).%New(..ProductApiStub, ConfiguratorServiceMock, ..OrderApiStub) #dim Resultaat As %String = InhoudBepaler.BepaalHtmlInhoudProboxEtiket(..DnaCodeIterator) Do $$$AssertEquals(##class(TECH.StringUtils).Occurrences(Resultaat,"CM/Z"),3) Do ConfiguratorServiceMock.Verifieer() Do ..ProductImplMock.Verifieer() - Do ..OrderApiMock.Verifieer() ]]> Index: BL/PPS/TBX/DocsV1/HtmlInhoudProboxEtiketBepaler.cls.xml =================================================================== diff -u -r65880 -r65883 --- BL/PPS/TBX/DocsV1/HtmlInhoudProboxEtiketBepaler.cls.xml (.../HtmlInhoudProboxEtiketBepaler.cls.xml) (revision 65880) +++ BL/PPS/TBX/DocsV1/HtmlInhoudProboxEtiketBepaler.cls.xml (.../HtmlInhoudProboxEtiketBepaler.cls.xml) (revision 65883) @@ -13,6 +13,11 @@ 1 + +BL.PPS.TBX.DocsV1.HtmlInhoudProboxEtiketBepaler.LijnReferentieBepaler +1 + + DOM.VKP.OrderAPI 1 @@ -27,6 +32,7 @@ @@ -93,6 +99,7 @@ #dim DnaCode As DOM.Halux.AAP.DnaCode #dim AantalReedsOpPallet As %Integer = 0 #dim OrderId As %String = 0 + #dim ToeleveringId As %String = 0 While DnaCodeIterator.HasNext() { Set DnaCode = DnaCodeIterator.Next() @@ -109,34 +116,41 @@ Do ProductAantalLijst.Insert(##class(TECH.KeyValuePair).%New(DnaCode.ProductNummer, ProductInfoLijst)) Set OrderId = DnaCode.OrderId + Set ToeleveringId = DnaCode.Toelevering } Set ProductAantalLijstIterator = ##class(TECH.ListIterator).%New(ProductAantalLijst) While ProductAantalLijstIterator.HasNext() { #dim ProductAantalKeyPair As TECH.KeyValuePair = ProductAantalLijstIterator.Next() - Set Resultaat = Resultaat_..Geef1Lijn(ProductAantalKeyPair.Key, OrderId, ProductAantalKeyPair.Value) + Set Resultaat = Resultaat_..Geef1Lijn(ProductAantalKeyPair.Key, OrderId, ProductAantalKeyPair.Value, ToeleveringId) } Quit Resultaat ]]> -ProductNummer:%String,OrderId:%String,ProductInfoLijst:TECH.KeyValue.UniqueList +ProductNummer:%String,OrderId:%String,ProductInfoLijst:TECH.KeyValue.UniqueList,ToeleveringId:%String %String " #dim Aantal As %String = ProductInfoLijst.FindByKey("AantalOpPallet").Value #dim OrderlijnId As %String = ProductInfoLijst.FindByKey("OrderlijnId").Value - + #dim Product As DOM.PM.Product = ..ProductApi.GeefProduct(ProductNummer) #dim IngegevenKenmerken As APPS.PM.Maatwerk.dto.IngegevenKenmerken = ..ConfiguratorService.GeefOnverwerkteKenmerkenVanProduct(ProductNummer) - #dim LijnReferentie As %String = "" + #dim LijnReferentie As %String = "" Try { - #dim Order As DOM.VKP.Order = ..OrderApi.GeefOrder(OrderId) - #dim OrderLijn As DOM.VKP.ProductOrderlijn = Order.GeefOrderLijn(OrderlijnId) - Set LijnReferentie = OrderLijn.GeefProjectReferentie() + // Indien OrderLijnId nog leeg, oude manier gebruiken opdat referenties blijven opgehaald worden via toelevering + If (OrderlijnId = "") { + Set LijnReferentie = ..LijnReferentieBepaler.ZoekLijnReferentie(ToeleveringId,Product.GeefID()) + } Else { + #dim Order As DOM.VKP.Order = ..OrderApi.GeefOrder(OrderId) + #dim OrderLijn As DOM.VKP.ProductOrderlijn = Order.GeefOrderLijn(OrderlijnId) + Set LijnReferentie = OrderLijn.GeefProjectReferentie() + + } } Catch { #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() Do ##class(vhLib.Logger).%New("BL.PPS.TBX.DocsV1.HtmlInhoudProboxEtiketBepaler").Warning("Geef1Lijn", "De referentie voor product '"_ProductNummer_"' op order '"_OrderId_"' kon niet bepaald worden. "_Exception)