Index: EWORDS6.mac.rou =================================================================== diff -u -r47799 -r47817 --- EWORDS6.mac.rou (.../EWORDS6.mac.rou) (revision 47799) +++ EWORDS6.mac.rou (.../EWORDS6.mac.rou) (revision 47817) @@ -18,14 +18,16 @@ ; WMS verwerking en eventueel doorsturen naar Egemin software indien voor vandaag SendWMS(ORDNr) - New %J,I,R,PRNr,Aantal,OLUNr,LeverDag,CONSNr,VerzDat,DOutDate,DOutTime,VerzW,VerzZ,LevAdr,ChkBeletDone,ORDNrs,CumulORDNr,WaitORDNrs + New %J,I,R,PRNr,Aantal,OLUNr,LeverDag,VerzDat,DOutDate,DOutTime,VerzW,VerzZ,LevAdr,ChkBeletDone,ORDNrs,CumulORDNr,WaitORDNrs New LandCode,PostCode - New PickingDag, InfoMelder, KlantNummer, IsVoorVandaag, OrderApi, PickingOpdrachtInfoLijst, Order, OrderLijn, OrderLijnIterator + New PickingDag, KlantNummer, Filters, FilterIterator, IsVoorVandaag, ConsolidatieNummer + New OrderApi, OrderLijn, OrderLijnIterator + New PickingOpdrachtInfo, PickingOpdrachtInfoIterator, PickingOpdrachtInfoLijst + #dim PickingDag As BL.Legacy.EWORDS6.enu.PickingDag = ##class(BL.Legacy.EWORDS6).PickingVoorVandaagVolgendeArbeidsdagOfAndereDag(ORDNr) - #dim InfoMelder As BL.Legacy.EWORDS6.InfoMelder = ##class(BL.Legacy.EWORDS6.InfoMelder).%New() - Do InfoMelder.Controleer(ORDNr) + Do ##class(BL.Legacy.EWORDS6.InfoMelder).%New().Controleer(ORDNr) If ($$$Not(PickingDag = ##class(BL.Legacy.EWORDS6.enu.PickingDag).Andere())) { #dim KlantNummer As %String = ##class(BL.Legacy.EWORDS6).GeefKlantNummer(ORDNr, D) @@ -43,43 +45,62 @@ Quit:$$$Not($$Lock(ORDNrs)) - Set %J=$$%J^vhRtn1() - Kill ^HULP(%J) - - #dim IsVoorVandaag As %Boolean = (PickingDag = ##class(BL.Legacy.EWORDS6.enu.PickingDag).Vandaag()) #dim OrderApi As DOM.VKP.impl.DataM.DataMOrderAPI = ##class(DOM.VKP.impl.DataM.DataMOrderAPI).%New() #dim PickingOpdrachtInfoLijst As %ListOfDataTypes = ##class(%ListOfDataTypes).%New() For I=1:1:$Length(ORDNrs,";") { Set CumulORDNr = $Piece(ORDNrs,";",I) Quit:$$$Not(CumulORDNr) + + #dim OrderLijnIterator As TECH.Iterator = OrderApi.GeefOrder(CumulORDNr).GeefOrderLijnIterator() - #dim Order As DOM.VKP.impl.DataM.DataMOrder = OrderApi.GeefOrder(CumulORDNr) - #dim OrderLijnIterator As TECH.Iterator = Order.GeefOrderLijnIterator() - While (OrderLijnIterator.HasNext()) { #dim OrderLijn As DOM.VKP.impl.DataM.DataMProductOrderlijn = OrderLijnIterator.Next() If $$$Not(OrderLijn.GeefProductID() = "") { - Do PickingOpdrachtInfoLijst.Insert(##class(BL.Legacy.EWORDS6.PickingOpdrachtInfo).%New(%J, OrderLijn, D)) + Do PickingOpdrachtInfoLijst.Insert(##class(BL.Legacy.EWORDS6.PickingOpdrachtInfo).%New(OrderLijn, D)) } } } - - Set CONSNr=$$GETNUM^FLOW("KUL","KU1") ; Tijdelijk - - Do INITDOMVKP^FLOWORD2(KlantNummer,ORDNr) - Set VerzW=$$DEFAULT^KLVERZW(,KlantNummer,ORDNr) - Set VerzZone="" - Set DOutDateTime=$S(IsVoorVandaag:+$H,1:+$$CALCDATE^vhLib.DataTypes($H,"A",1))_","_blVerzendWijze.DueOutPickingTime() - Set VerzDat=blLeveringsTermijn.GetVroegsteLeverDag(+DOutDateTime) - Set DOutDateTime=blLeveringsTermijn.GetLaatstePickingsTijdstip(VerzDat) + + #dim Filters As %ListOfDataTypes = ##class(%ListOfDataTypes).%New() + Do Filters.Insert(##class(BL.Legacy.EWORDS6.PickingOpdrachtInfoIterator.Filter.OrgaluxFilter).%New()) + Do Filters.Insert(##class(BL.Legacy.EWORDS6.PickingOpdrachtInfoIterator.Filter.NietOrgaluxFilter).%New()) + + #dim IsVoorVandaag As %Boolean = (PickingDag = ##class(BL.Legacy.EWORDS6.enu.PickingDag).Vandaag()) + #dim FilterIterator As TECH.Iterator = ##class(TECH.ListIterator).%New(Filters) + + Set %J = $$%J^vhRtn1() + Kill ^HULP(%J) + + While (FilterIterator.HasNext()) { + #dim ConsolidatieNummer As %String = $$GETNUM^FLOW("KUL", "KU1") + #dim PickingOpdrachtInfoIterator As TECH.Iterator = ##class(BL.Legacy.EWORDS6.PickingOpdrachtInfoIterator).%New(PickingOpdrachtInfoLijst, FilterIterator.Next()) + + While (PickingOpdrachtInfoIterator.HasNext()) { + #dim PickingOpdrachtInfo As BL.Legacy.EWORDS6.PickingOpdrachtInfo = PickingOpdrachtInfoIterator.Next() + + Set ^HULP(%J, KlantNummer, "M", "A", PickingOpdrachtInfo.GeefOrderId(), PickingOpdrachtInfo.GeefOrderLijnId()) = PickingOpdrachtInfo.GeefData() + } + + Do INITDOMVKP^FLOWORD2(KlantNummer, ORDNr) + + Set VerzW = $$DEFAULT^KLVERZW(, KlantNummer, ORDNr) + Set VerzZone = "" + Set DOutDateTime = $Select(IsVoorVandaag:+$Horolog,1:+$$CALCDATE^vhLib.DataTypes($Horolog,"A",1)) _ "," _ blVerzendWijze.DueOutPickingTime() + Set VerzDat = blLeveringsTermijn.GetVroegsteLeverDag(+DOutDateTime) + Set DOutDateTime = blLeveringsTermijn.GetLaatstePickingsTijdstip(VerzDat) + Set LevAdr = ^KOD(KlantNummer, "F", ORDNr, 3) + + Do BLDCONS^EWORDS2(KlantNummer, $Name(^HULP(%J, KlantNummer, "M")), ConsolidatieNummer, $Piece(VerzW, ";"), VerzDat, DOutDateTime, VerzZone, LevAdr, .ChkBeletDone) ; Creatie suborderlijnen + + If ($$WMSIsActief() && IsVoorVandaag) { + Do SEND^EWORDSW(ConsolidatieNummer) + } + + Kill ^HULP(%J, KlantNummer) + } - Set LevAdr=^KOD(KlantNummer,"F",ORDNr,3) - Do BLDCONS^EWORDS2(KlantNummer,$NA(^HULP(%J,KlantNummer,"M")),CONSNr,$P(VerzW,";"),VerzDat,DOutDateTime,VerzZone,LevAdr,.ChkBeletDone) ; Creatie suborderlijnen - - If $$WMSIsActief(),IsVoorVandaag Do SEND^EWORDSW(CONSNr) ; Indien voor vandaag -> doorsturen - Kill ^HULP(%J) For I=1:1:$L(ORDNrs,";") Set CumulORDNr=$P(ORDNrs,";",I) Kill ^ORDW("AUTO",CumulORDNr) Do UnLock(ORDNrs) Index: BL/Legacy/EWORDS6/PickingOpdrachtInfoIterator/Filter/OrgaluxFilter.cls.xml =================================================================== diff -u --- BL/Legacy/EWORDS6/PickingOpdrachtInfoIterator/Filter/OrgaluxFilter.cls.xml (revision 0) +++ BL/Legacy/EWORDS6/PickingOpdrachtInfoIterator/Filter/OrgaluxFilter.cls.xml (revision 47817) @@ -0,0 +1,41 @@ + + + +TECH.RegisteredObject,TECH.Filter + + +DOM.PM.ProductTypeAPI +1 + + + +ProductTypeApi:DOM.PM.ProductTypeAPI="" +1 +1 +%Status +1 + + + + +Value:%CacheString +%Boolean + + + + +PickingOpdrachtInfo:BL.Legacy.EWORDS6.PickingOpdrachtInfo +1 +%Boolean + + + + + + Index: BL/Legacy/EWORDS6/PickingOpdrachtInfoIterator.cls.xml =================================================================== diff -u --- BL/Legacy/EWORDS6/PickingOpdrachtInfoIterator.cls.xml (revision 0) +++ BL/Legacy/EWORDS6/PickingOpdrachtInfoIterator.cls.xml (revision 47817) @@ -0,0 +1,59 @@ + + + +TECH.RegisteredObject,TECH.Iterator + + +TECH.Iterator +1 + + + +TECH.Filter +1 + + + +%ListOfDataTypes +1 + + + +PickingOpdrachtInfoLijst:%ListOfDataTypes,Filter:TECH.Filter="" +1 +1 +%Status +1 + + + + +%Boolean + + + + +%CacheString + + + + + + + + + + Index: BL/Legacy/EWORDS6/PickingOpdrachtInfo.cls.xml =================================================================== diff -u -r47799 -r47817 --- BL/Legacy/EWORDS6/PickingOpdrachtInfo.cls.xml (.../PickingOpdrachtInfo.cls.xml) (revision 47799) +++ BL/Legacy/EWORDS6/PickingOpdrachtInfo.cls.xml (.../PickingOpdrachtInfo.cls.xml) (revision 47817) @@ -3,11 +3,6 @@ TECH.RegisteredObject - -%String -1 - - DOM.VKP.impl.DataM.DataMProductOrderlijn 1 @@ -19,13 +14,12 @@ -Index:%String,OrderLijn:DOM.VKP.impl.DataM.DataMProductOrderlijn,Delimiter:%String +OrderLijn:DOM.VKP.impl.DataM.DataMProductOrderlijn,Delimiter:%String 1 1 %Status 1 + + +%String + + + + +%String + + Index: BL/Legacy/EWORDS6/PickingOpdrachtInfoIterator/Filter/NietOrgaluxFilter.cls.xml =================================================================== diff -u --- BL/Legacy/EWORDS6/PickingOpdrachtInfoIterator/Filter/NietOrgaluxFilter.cls.xml (revision 0) +++ BL/Legacy/EWORDS6/PickingOpdrachtInfoIterator/Filter/NietOrgaluxFilter.cls.xml (revision 47817) @@ -0,0 +1,41 @@ + + + +TECH.RegisteredObject,TECH.Filter + + +DOM.PM.ProductTypeAPI +1 + + + +ProductTypeApi:DOM.PM.ProductTypeAPI="" +1 +1 +%Status +1 + + + + +Value:%CacheString +%Boolean + + + + +PickingOpdrachtInfo:BL.Legacy.EWORDS6.PickingOpdrachtInfo +1 +%Boolean + + + + + +