Index: APPS/Halux/PPS/Document/impl/common/OnderdelenPicking.cls.xml =================================================================== diff -u -r70541 -r74557 --- APPS/Halux/PPS/Document/impl/common/OnderdelenPicking.cls.xml (.../OnderdelenPicking.cls.xml) (revision 70541) +++ APPS/Halux/PPS/Document/impl/common/OnderdelenPicking.cls.xml (.../OnderdelenPicking.cls.xml) (revision 74557) @@ -177,13 +177,10 @@ #dim GesorteerdeUitvoeringInfoIterator As TECH.Iterator = GesorteerdeOnderdeelPickingsVoor1Toelevering.GeefKindIterator() #dim IsProductiegroepProbox As %Boolean = (Productiegroep = ##class(APPS.Halux.common.enu.ProductieGroep).Probox()) #dim IsProductiegroepFlatackV1 As %Boolean = (Productiegroep = ##class(APPS.Halux.common.enu.ProductieGroep).FlatpackV1()) + #dim IsProductiegroepV1 As %Boolean = (Productiegroep = ##class(APPS.Halux.common.enu.ProductieGroep).Stuk()) - If ((Categorie = ##class(APPS.Halux.common.enu.Categorie).TAORbox()) && (IsProductiegroepProbox || IsProductiegroepFlatackV1)) { + If ((Categorie = ##class(APPS.Halux.common.enu.Categorie).TAORbox())&& (IsProductiegroepProbox || IsProductiegroepFlatackV1)) { Set GesorteerdeUitvoeringInfoIterator = ..GeefAlleProductenMetSamengeteldeGeleiders(GesorteerdeUitvoeringInfoIterator) - - If (IsProductiegroepProbox) { - Set GesorteerdeUitvoeringInfoIterator = ..GeefAlleProductenBehalveBodemplatenIterator(GesorteerdeUitvoeringInfoIterator) //Bodemplaten horen niet thuis op een pickinglijst - } } If (Categorie = ##class(APPS.Halux.common.enu.Categorie).Merivobox()) { @@ -192,8 +189,19 @@ If (..IsBatchEnkelVoorDKG()) { Set GesorteerdeUitvoeringInfoIterator = ..GeefAlleProductenBehalveNietZichtbaarVoorDKG(GesorteerdeUitvoeringInfoIterator) } + + If $$$Not(IsProductiegroepV1) { + Set GesorteerdeUitvoeringInfoIterator = ..GeefAlleProductenMetSamengeteldeAfdekkappenBinnenEnBuitenkant(GesorteerdeUitvoeringInfoIterator, "MVX") + } } + If (Categorie = ##class(APPS.Halux.common.enu.Categorie).Legrabox()) { + If $$$Not(IsProductiegroepV1) { + Set GesorteerdeUitvoeringInfoIterator = ..GeefAlleProductenMetSamengeteldeAfdekkappenBinnenEnBuitenkant(GesorteerdeUitvoeringInfoIterator, "LBX") + } + + } + While GesorteerdeUitvoeringInfoIterator.HasNext() { #dim DataVoorLijn As APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop = GesorteerdeUitvoeringInfoIterator.Next() #dim IsTussenlijnNodig As %Boolean = ..IsTussenlijnNodig(DataVoorVorigeLijn,DataVoorLijn) @@ -203,7 +211,11 @@ #dim VermeldOmschrijvingEnKorttekst As %Boolean = ('$IsObject(DataVoorVorigeLijn) || IsTussenlijnNodig) Do ..VoegToeItem(DataVoorLijn,VermeldOmschrijvingEnKorttekst) - If ((ToeleveringIDVoorPCDataOnderdelenPickingDocument > 0) && (##class(TECH.StringUtils).Equals(..Batch.GeefCategorie(), ##class(APPS.Halux.common.enu.Categorie).TAORbox(), ##class(APPS.Halux.common.enu.Categorie).Legrabox()))) { + #dim MesFaseActief As %Integer = ##class(TECH.Config.ConfigMgr).Instance().GeefString("APPS.Halux.PPS.Document.impl.BatchNaarObjective_MESFase") + #dim MagDocumentVoorLBX As %Boolean = (..Batch.GeefCategorie() = ##class(APPS.Halux.common.enu.Categorie).Legrabox()) && (MesFaseActief < 2) + #dim MagDocumentVoorTAX As %Boolean = (..Batch.GeefCategorie() = ##class(APPS.Halux.common.enu.Categorie).TAORbox()) + + If ((ToeleveringIDVoorPCDataOnderdelenPickingDocument > 0) && (MagDocumentVoorLBX || MagDocumentVoorTAX)) { Do ..ZetDataVoorPCDataOnderdelenPickingDocument(DataVoorLijn, ToeleveringIDVoorPCDataOnderdelenPickingDocument) } Set DataVoorVorigeLijn = DataVoorLijn @@ -218,7 +230,13 @@ DataVoorLijn:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop,ToeleveringIDVoorPCDataOnderdelenPickingDocument:%Integer - @@ -252,25 +270,6 @@ ]]> - -GesorteerdeUitvoeringInfoIterator:TECH.Iterator -1 -TECH.Iterator - - - GesorteerdeUitvoeringInfoIterator:TECH.Iterator 1 @@ -357,6 +356,160 @@ ]]> + +GesorteerdeUitvoeringInfoIterator:TECH.Iterator,Variant:%String +1 +TECH.Iterator + + + + +GesorteerdeUitvoeringInfoIterator:TECH.Iterator +1 +TECH.Iterator + 0 { + Set GesorteerdeUitvoeringInfoIterator = SamengesteldeLijstIterator + } Else { + Do GesorteerdeUitvoeringInfoIterator.Reset() + } + + Quit GesorteerdeUitvoeringInfoIterator +]]> + + + +Variant:%String,LadeHoogte:%String,Kleur:%String,KlantID:%String +1 += '"_Datum_"' or GeldigTot is null) and (GeldigVan <= '"_Datum_"' or GeldigVan is null) and LadeKleur = '"_Kleur_"' and LadeHoogte = '"_LadeHoogte_"' and Klantbeperking = '"_KlantID_"'" + + #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 PRNrAfdekkap = ResultSet.GetData(1) + } Else { + Set SqlStatement = "SELECT ProductID FROM " _SqlTableName _" WHERE " _"(GeldigTot >= '"_Datum_"' or GeldigTot is null) and (GeldigVan <= '"_Datum_"' or GeldigVan is null) and LadeKleur = '"_Kleur_"' and LadeHoogte = '"_LadeHoogte_"' and Klantbeperking is null" + Set ResultSet = QueryAPI.GetResultSet(##class(TECH.DynamicQuery).%New(SqlStatement, $LB())) + If ResultSet.Next() { + Set PRNrAfdekkap = ResultSet.GetData(1) + } Else { + Do ##class(TECH.Exceptions.DataNotFoundException).Throw("Geen data gevonden voor "_SqlStatement_".") + } + } + + Quit PRNrAfdekkap +]]> + + + +Variant:%String,Kleur:%String,KlantID:%String +1 += '"_Datum_"' or GeldigTot is null) and (GeldigVan <= '"_Datum_"' or GeldigVan is null) and LadeKleur = '"_Kleur_"' and Klantbeperking = '"_KlantID_"'" + + #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 PRNrAfdekkap = ResultSet.GetData(1) + } Else { + Set SqlStatement = "SELECT ProductID FROM " _SqlTableName _" WHERE " _"(GeldigTot >= '"_Datum_"' or GeldigTot is null) and (GeldigVan <= '"_Datum_"' or GeldigVan is null) and LadeKleur = '"_Kleur_"' and Klantbeperking is null" + Set ResultSet = QueryAPI.GetResultSet(##class(TECH.DynamicQuery).%New(SqlStatement, $LB())) + If ResultSet.Next() { + Set PRNrAfdekkap = ResultSet.GetData(1) + } Else { + Do ##class(TECH.Exceptions.DataNotFoundException).Throw("Geen data gevonden voor "_SqlStatement_".") + } + } + + Quit PRNrAfdekkap +]]> + + + +ProductID:%Integer +1 +TECH.String + + + Product:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop 1 @@ -376,6 +529,17 @@ ]]> + +Product:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop +1 +%Boolean + + + Product:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop,OorspronkelijkProduct:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop 1 @@ -392,6 +556,14 @@ ]]> + +Product:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop,OorspronkelijkProduct:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop +1 +%Boolean + + + Product:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop 1 @@ -522,6 +694,7 @@ While HalffabItemsVoorKnoopIt.HasNext(){ #dim HalffabItemVoorKnoop As DOM.PM.Maatwerk.Calc.HF.IHalffabItem = HalffabItemsVoorKnoopIt.Next() #dim OnderdeelPickingBinaireKnoop As APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop = ..GeefOnderdeelPickingBinaireKnoop(HalffabItemVoorKnoop,UitvoeringInfo) + Set OnderdeelPickingBinaireKnoop.HFV.ToeleveringID = ToeleveringID If 'GesorteerdeOnderdeelPickingsPerToelevering.IsDefined(ToeleveringID){ Do GesorteerdeOnderdeelPickingsPerToelevering.SetAt(OnderdeelPickingBinaireKnoop,ToeleveringID) Do ..ToeleveringSequentie.Insert(ToeleveringID)