Index: BL/Legacy/EWORDS/PickingOpdrachtInfoIterator/Filter/NietOrgaluxFilter.cls.xml =================================================================== diff -u --- BL/Legacy/EWORDS/PickingOpdrachtInfoIterator/Filter/NietOrgaluxFilter.cls.xml (revision 0) +++ BL/Legacy/EWORDS/PickingOpdrachtInfoIterator/Filter/NietOrgaluxFilter.cls.xml (revision 48118) @@ -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.EWORDS.PickingOpdrachtInfo +1 +%Boolean + + + + + + Index: BL/Legacy/EWORDS/PickingOpdrachtInfoIterator.cls.xml =================================================================== diff -u --- BL/Legacy/EWORDS/PickingOpdrachtInfoIterator.cls.xml (revision 0) +++ BL/Legacy/EWORDS/PickingOpdrachtInfoIterator.cls.xml (revision 48118) @@ -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: EWORDS.mac.rou =================================================================== diff -u -r48109 -r48118 --- EWORDS.mac.rou (.../EWORDS.mac.rou) (revision 48109) +++ EWORDS.mac.rou (.../EWORDS.mac.rou) (revision 48118) @@ -465,7 +465,7 @@ ; SAVE(NoAsk) New R,Ok,Count,VerzW,VerzDat,DOutDate,DOutTime,VerzZ,LevAdr,CONSNr,Send,ORDNr,Check,Rembours,ChkBeletDone,OLU,LijnRec,ReturnLocal - New PickingOpdrachtInfoLijst + New PickingOpdrachtInfo, PickingOpdrachtInfoLijst, PickingOpdrachtInfoIterator, FilterIterator Set Ok=0 @@ -479,7 +479,6 @@ Quit:'Ok - Set CONSNr=$$GETNUM^FLOW("KUL","KU1") ; Tijdelijk Set R=$G(^HULP(%J,KLNr,"V")) Set DOutDate=$P($P(R,D,2),","),DOutTime=$P(R,D,3),VerzZ=$P(R,D,4),VerzDat=$P(R,D,5) Set ORDNr=$O(^HULP(%J,KLNr,"M","A","")) @@ -488,7 +487,7 @@ // We gaan nagaan of er backorderlijnen moeten gesplitst worden. Indien de 2de piece is ingevuld moet die gebruikt worden als BO aantal. // Achteraf maken we die piece leeg zodat de rest van de code zijn werk blijft doen. Set OLU = "" - Set PickingOpdrachtInfoLijst = ##class(%ListOfDataTypes).%New() + Set PickingOpdrachtInfoLijst = ##class(%ListOfDataTypes).%New() For { Set OLU=$O(^HULP(%J,KLNr,"M","A",ORDNr,OLU)) @@ -516,44 +515,66 @@ Set Aantal = $Piece(LijnRec, "\", 1) - // ^HULP data is reeds aangemaakt bij aanroepen van de SAVE(), we bewaren deze data in PickingOpdrachtInfo + // ^HULP data, aangemaakt v��r aanroepen van SAVE(), bijhouden in PickingOpdrachtInfoLijst Do PickingOpdrachtInfoLijst.Insert(##class(BL.Legacy.EWORDS.PickingOpdrachtInfo).%New(Aantal, LeverDatum, ORDNr, OLU)) } + // Alle bestaande ^HULP-nodes voor opgegeven KlantNummer en OrderNummer verwijderen + Kill ^HULP(%J, KlantNummer, "M", "A", OrderNummer) + If 'DOutTime do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.GeneralErrorException).%New("DOutTime mag niet null zijn")) + Set LevAdr=^HULP(%J,KLNr,"C","LA") + Set FilterIterator = ##class(TECH.ListIterator).%New(##class(BL.Legacy.EWORDS.Save).GeefFilters()) - Do BLDCONS^EWORDS2(KLNr,$NA(^HULP(%J,KLNr,"M")),CONSNr,$P(VerzW,";"),VerzDat,DOutDate_","_DOutTime,VerzZ,LevAdr,.ChkBeletDone) ; Creatie suborderlijnen - Do STORE^LOG("ORDW", CONSNr, "O", ##class(BL.Legacy.EWORDS.Save).GeefOrderNummers(CONSNr)) - - Set ChkBeletDone=$G(ChkBeletDone) - Do VERWERK^EWORDSS(CONSNr) ; Eventueel opsplitsen in groepen - - If $D(^ORDW("D",CONSNr)) { - ; Kan bij terugname niet meer bestaan - Do ShowKennisAnker^EWORDS5(KLNr,CONSNr,1) - Do:$$ChkTRANSPORT(CONSNr) TRANSPORT(CONSNr) + While (FilterIterator.HasNext()) { + Set CONSNr = $$GETNUM^FLOW("KUL","KU1") + Set PickingOpdrachtInfoIterator = ##class(BL.Legacy.EWORDS.PickingOpdrachtInfoIterator).%New(PickingOpdrachtInfoLijst, FilterIterator.Next()) - Set R=^ORDW("D",CONSNr) + While (PickingOpdrachtInfoIterator.HasNext()) { + Set PickingOpdrachtInfo = PickingOpdrachtInfoIterator.Next() + Set ^HULP(%J, KLNr, "M", "A", PickingOpdrachtInfo.GeefOrderNummer(), PickingOpdrachtInfo.GeefOrderLijnNummer()) = PickingOpdrachtInfo.GeefData() + } - Quit:$P(R,D,20)="K" Quit:$P(R,D,20)="B" Quit:$P(R,D,20)="C" Quit:ChkBeletDone="B" + Do BLDCONS^EWORDS2(KLNr,$NA(^HULP(%J,KLNr,"M")),CONSNr,$P(VerzW,";"),VerzDat,DOutDate_","_DOutTime,VerzZ,LevAdr,.ChkBeletDone) ; Creatie suborderlijnen + Do STORE^LOG("ORDW", CONSNr, "O", ##class(BL.Legacy.EWORDS.Save).GeefOrderNummers(CONSNr)) + + Set ChkBeletDone=$G(ChkBeletDone) + Do VERWERK^EWORDSS(CONSNr) ; Eventueel opsplitsen in groepen - Set:ChkBeletDone="" Check=$$CHECK^EWORDS3(CONSNr,1),Rembours=$P(Check,D,2) - If ChkBeletDone="",'Check!Rembours Do BELET^EWORDS3(CONSNr) Quit - - Quit:'$$MagazijnBeschikbaar(CONSNr) - - Set Send=$S($G(DOutSend)="L":0,1:1) - - If Send,DOutDate>$H { - Set Send=$S(DOutSend="V":1,1:"") - Set:Send="" Send=$$^vhTXTPOP("EWORDS","SENDWMS",,$$EXTNUM^vhLib.DataTypes(CONSNr,0,".",0),$$EXTDATE^vhLib.DataTypes(DOutDate))="V" + If $D(^ORDW("D",CONSNr)) { + ; Kan bij terugname niet meer bestaan + Do ShowKennisAnker^EWORDS5(KLNr,CONSNr,1) + Do:$$ChkTRANSPORT(CONSNr) TRANSPORT(CONSNr) + + Set R=^ORDW("D",CONSNr) + + Quit:$P(R,D,20)="K" Quit:$P(R,D,20)="B" Quit:$P(R,D,20)="C" Quit:ChkBeletDone="B" + + Set:ChkBeletDone="" Check=$$CHECK^EWORDS3(CONSNr,1),Rembours=$P(Check,D,2) + If ChkBeletDone="",'Check!Rembours Do BELET^EWORDS3(CONSNr) Quit + + Quit:'$$MagazijnBeschikbaar(CONSNr) + + Set Send=$S($G(DOutSend)="L":0,1:1) + + If Send,DOutDate>$H { + Set Send=$S(DOutSend="V":1,1:"") + Set:Send="" Send=$$^vhTXTPOP("EWORDS","SENDWMS",,$$EXTNUM^vhLib.DataTypes(CONSNr,0,".",0),$$EXTDATE^vhLib.DataTypes(DOutDate))="V" + } + + If Send { + ; Doorsturen naar WMS + Set Send=$$WMSACTIV^EWRECS() + Do:Send SEND^EWORDSW(CONSNr) + } } - If Send { - ; Doorsturen naar WMS - Set Send=$$WMSACTIV^EWRECS() - Do:Send SEND^EWORDSW(CONSNr) + Do PickingOpdrachtInfoIterator.Reset() + + While (PickingOpdrachtInfoIterator.HasNext()) { + Set PickingOpdrachtInfo = PickingOpdrachtInfoIterator.Next() + Kill ^HULP(%J, KLNr, "M", "A", PickingOpdrachtInfo.GeefOrderNummer(), PickingOpdrachtInfo.GeefOrderLijnNummer()) } } Index: BL/Legacy/EWORDS/Save.cls.xml =================================================================== diff -u -r48107 -r48118 --- BL/Legacy/EWORDS/Save.cls.xml (.../Save.cls.xml) (revision 48107) +++ BL/Legacy/EWORDS/Save.cls.xml (.../Save.cls.xml) (revision 48118) @@ -3,6 +3,19 @@ TECH.RegisteredObject + +1 +%ListOfDataTypes + + + 1 ConsolidatieNummer:%String Index: BL/Legacy/EWORDS/PickingOpdrachtInfoIterator/Filter/OrgaluxFilter.cls.xml =================================================================== diff -u --- BL/Legacy/EWORDS/PickingOpdrachtInfoIterator/Filter/OrgaluxFilter.cls.xml (revision 0) +++ BL/Legacy/EWORDS/PickingOpdrachtInfoIterator/Filter/OrgaluxFilter.cls.xml (revision 48118) @@ -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.EWORDS.PickingOpdrachtInfo +1 +%Boolean + + + + + +