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
+
+
+
+
+
+