Index: APPS/MAG/Inventaris/dto/BijladenProductInfo.cls.xml =================================================================== diff -u --- APPS/MAG/Inventaris/dto/BijladenProductInfo.cls.xml (revision 0) +++ APPS/MAG/Inventaris/dto/BijladenProductInfo.cls.xml (revision 2359) @@ -0,0 +1,41 @@ + + + +1 +%RegisteredObject,%XML.Adaptor +0 + + +%TimeStamp +1 + + + +%String +1 + + + +DOM.common.dto.ProductData +1 + + + +%Integer +0 + + + +%Integer +0 + + + +APPS.MAG.Inventaris.dto.ProductenOpPallet + + + +APPS.MAG.Inventaris.dto.ProductenOpPallet + + + Index: APPS/MAG/InventarisService.cls.xml =================================================================== diff -u -r2142 -r2359 --- APPS/MAG/InventarisService.cls.xml (.../InventarisService.cls.xml) (revision 2142) +++ APPS/MAG/InventarisService.cls.xml (.../InventarisService.cls.xml) (revision 2359) @@ -253,15 +253,15 @@ If ('##class(EWMS.ToReceive).PalletIsInToReceive(PalletID)) { - Do ResultSet.Prepare("SELECT rtrim(product) as ProductID, CAST(qty_pcs AS INT) as Aantal, I.loc_m, (SELECT count(1) FROM EWMS.Inventory WHERE loc_id = I.loc_id) as AantalSecties, T.Loc_Trans As LocatieID" + Do ResultSet.Prepare("SELECT rtrim(product) as ProductID, CAST(qty_pcs AS INT) as Aantal, I.loc_m, (SELECT count(1) FROM EWMS.Inventory WHERE loc_id = I.loc_id) as AantalSecties, T.Loc_Trans As LocatieID, T.Loc_IsPickbaar As IsPickbaar" _" FROM EWMS.Inventory I" _" JOIN EWMS.Locations L ON I.loc_m = L.loc_m and I.loc_id = L.loc_id" _" LEFT JOIN EWMS.TransLoc T ON T.loc_m = L.loc_m AND T.loc_g = L.loc_g AND T.loc_x = L.loc_x AND T.loc_y = L.loc_y" _" WHERE I.loc_id = ? AND I.loc_m < 5 AND I.Product <> 'EMPTY'") } Else { - Do ResultSet.Prepare("SELECT rtrim(product) as ProductID, CAST(qtytoreceive AS INT) as Aantal, I.locm As loc_m, (SELECT count(1) FROM EWMS.ToReceive WHERE loc_id = I.locid) as AantalSecties, T.Loc_Trans As LocatieID" + Do ResultSet.Prepare("SELECT rtrim(product) as ProductID, CAST(qtytoreceive AS INT) as Aantal, I.locm As loc_m, (SELECT count(1) FROM EWMS.ToReceive WHERE loc_id = I.locid) as AantalSecties, T.Loc_Trans As LocatieID, T.Loc_IsPickbaar As IsPickbaar" _" FROM EWMS.ToReceive I" _" LEFT JOIN EWMS.Locations L ON I.locm = L.loc_m and I.locid = L.loc_id" _" LEFT JOIN EWMS.TransLoc T ON T.loc_m = L.loc_m AND T.loc_g = L.loc_g AND T.loc_x = L.loc_x AND T.loc_y = L.loc_y" @@ -275,6 +275,7 @@ Set ProductOpPallet.Aantal = ResultSet.Data("Aantal") Set ProductOpPallet.PalletID = PalletID Set ProductOpPallet.LocatieID = ResultSet.Data("LocatieID") + Set ProductOpPallet.IsPickbaar = ResultSet.Data("IsPickbaar") Set ProductOpPallet.MagazijnOmschrijving = ##class(Prod.Product).GetMagViaOpslagzone(ResultSet.Data("loc_m")) Set ProductOpPallet.AantalSecties = ResultSet.Data("AantalSecties") Do ProductenOpPallet.Insert(ProductOpPallet) @@ -303,7 +304,7 @@ Set DataService = ##class(APPS.common.DataService).%New() Set ResultSet = ##class(%ResultSet).%New() - Do ResultSet.Prepare("SELECT CAST(qty_pcs AS INT) as Aantal, I.loc_id As PalletID, I.loc_m, (SELECT count(1) FROM EWMS.Inventory WHERE loc_id = I.loc_id GROUP BY loc_id) as AantalSecties, T.Loc_Trans As LocatieID" + Do ResultSet.Prepare("SELECT CAST(qty_pcs AS INT) as Aantal, I.loc_id As PalletID, I.loc_m, (SELECT count(1) FROM EWMS.Inventory WHERE loc_id = I.loc_id GROUP BY loc_id) as AantalSecties, T.Loc_Trans As LocatieID, T.Loc_IsPickbaar As IsPickbaar" _" FROM EWMS.Inventory I" _" JOIN EWMS.Locations L ON I.loc_m = L.loc_m and I.loc_id = L.loc_id" _" LEFT JOIN EWMS.TransLoc T ON T.loc_m = L.loc_m AND T.loc_g = L.loc_g AND T.loc_x = L.loc_x AND T.loc_y = L.loc_y" @@ -316,6 +317,7 @@ Set ProductOpPallet.Aantal = ResultSet.Data("Aantal") Set ProductOpPallet.PalletID = ResultSet.Data("PalletID") Set ProductOpPallet.LocatieID = ResultSet.Data("LocatieID") + Set ProductOpPallet.IsPickbaar = ResultSet.Data("IsPickbaar") Set ProductOpPallet.MagazijnOmschrijving = ##class(Prod.Product).GetMagViaOpslagzone(ResultSet.Data("loc_m")) Set ProductOpPallet.AantalSecties = ResultSet.Data("AantalSecties") Do ProductenOpPallet.Insert(ProductOpPallet) @@ -557,5 +559,118 @@ } ]]> + + + +Geeft lijst met APPS.MAG.Inventaris.dto.BijladenProductInfo +BijladenTotTimeStamp:%TimeStamp +%ListOfObjects + arAantalPickbaar.GetAt(ProductID))){ + If ((arAantalPickbaar.GetAt(ProductID))>0){ + Set TePickenProduct.AantalPickbaar = arAantalPickbaar.GetAt(ProductID) + }Else{ + Set TePickenProduct.AantalPickbaar = 0 + } + + /// Pickbare en niet pickbare locaties instellen. + Set ProductOpPalletIt = ##class(TECH.ListIterator).%New(InventarisService.GeefPallettenMetProduct(ProductID)) + While ProductOpPalletIt.HasNext() + { + Set ProductOpPallet = ProductOpPalletIt.Next() + Set TePickenProduct.ProductData = ProductOpPallet.ProductData + If ProductOpPallet.IsPickbaar { + Do TePickenProduct.PickbareLocaties.Insert(ProductOpPallet) + }Else { + Do TePickenProduct.NietPickbareLocaties.Insert(ProductOpPallet) + } + } + Do ProductenBijTeLaden.Insert(TePickenProduct) + } + } + + Quit ProductenBijTeLaden +]]> + + + + +Een lijst met BijladenProductInfo objecten. +Deze lijst is gesorteerd op vroegste due out time ascending. +TimeStamp:%TimeStamp +1 +%ListOfObjects +Hoofding->DueOutTime)) As VroegsteDueOut" + _" FROM Flow_OrderWMS.Sub" + _" WHERE StatusWMS = ""W"" AND TECH.DateTime_HorologToTimeStamp(Lijn->Hoofding->DueOutTime) < ?" + _" GROUP BY Product" + _" ORDER BY VroegsteDueOut ASC") + Set Status = ResultSet.Execute(TimeStamp) + If $$$ISERR(Status) Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.StatusException).%New(##class(TECH.enu.ExceptionCode).GeneralError(),"Kon de aantal gevraagde producten niet ophalen.",Status)) + While ResultSet.Next() + { + Set BijladenProductInfo = ##class(APPS.MAG.Inventaris.dto.BijladenProductInfo).%New() + Set BijladenProductInfo.VroegsteDueOut = ResultSet.Data("VroegsteDueOut") + Set BijladenProductInfo.ProductID = $ZSTRIP(ResultSet.Data("ProductID"),"<>W") + Set BijladenProductInfo.AantalTePicken = ResultSet.Data("Aantal") + Do TePickenProducten.Insert(BijladenProductInfo) + } + Do ResultSet.%Close() + Set ResultSet = "" + + Quit TePickenProducten +]]> + + + + +Een array met ProductID als key en AantalPickbaar als value +IsPickbaar:%Boolean=1 +1 +%ArrayOfDataTypes +W") + Set Aantal = ResultSet.Data("Aantal") + Do arAantalPickbaar.SetAt(Aantal, ProductID) + } + Do ResultSet.%Close() + Set ResultSet = "" + + Quit arAantalPickbaar +]]> + Index: APPS/MAG/Inventaris/dto/ProductOpPallet.cls.xml =================================================================== diff -u -r2142 -r2359 --- APPS/MAG/Inventaris/dto/ProductOpPallet.cls.xml (.../ProductOpPallet.cls.xml) (revision 2142) +++ APPS/MAG/Inventaris/dto/ProductOpPallet.cls.xml (.../ProductOpPallet.cls.xml) (revision 2359) @@ -17,6 +17,10 @@ %String + +%Boolean + + DOM.common.dto.ProductData Index: APPS/MAG/Inventaris/impl/BijladenProductInfoComparator.cls.xml =================================================================== diff -u --- APPS/MAG/Inventaris/impl/BijladenProductInfoComparator.cls.xml (revision 0) +++ APPS/MAG/Inventaris/impl/BijladenProductInfoComparator.cls.xml (revision 2359) @@ -0,0 +1,15 @@ + + + +1 +%RegisteredObject,TECH.Comparator.IComparator +0 + + +Waarde1:APPS.MAG.Inventaris.dto.BijladenProductInfo,Waarde2:APPS.MAG.Inventaris.dto.BijladenProductInfo +%Boolean + + + + Index: vhUnitTest/APPS/MAG/Inventaris/TestInventarisService.cls.xml =================================================================== diff -u -r2142 -r2359 --- vhUnitTest/APPS/MAG/Inventaris/TestInventarisService.cls.xml (.../TestInventarisService.cls.xml) (revision 2142) +++ vhUnitTest/APPS/MAG/Inventaris/TestInventarisService.cls.xml (.../TestInventarisService.cls.xml) (revision 2359) @@ -7,6 +7,29 @@ vhUnitTest.TestCase 0 + +TECH.Context.RuntimeContext + + + +%Status + + + + +%Status + + + + + + + + +ID:%Integer +%Status + + + %Status + + +%Status + + Index: vhDeploy/JBL/Deploy20111013x1443.cls.xml =================================================================== diff -u --- vhDeploy/JBL/Deploy20111013x1443.cls.xml (revision 0) +++ vhDeploy/JBL/Deploy20111013x1443.cls.xml (revision 2359) @@ -0,0 +1,23 @@ + + + +1 +svn.Deploy +0 + + +Bijladen niet pickbare producten. + + + +1 + + + + Index: CHUI/MAG/Inventaris/LijstDefinities/BijladenProductLijst.cls.xml =================================================================== diff -u --- CHUI/MAG/Inventaris/LijstDefinities/BijladenProductLijst.cls.xml (revision 0) +++ CHUI/MAG/Inventaris/LijstDefinities/BijladenProductLijst.cls.xml (revision 2359) @@ -0,0 +1,38 @@ + + + +1 +%RegisteredObject +0 + + + +d ##class(CHUI.MAG.Inventaris.LijstDefinities.BijladenProductLijst).MaakDocument() +1 + + + + Index: CHUI/MAG/Inventaris/LijstNietPickbareLocaties.cls.xml =================================================================== diff -u --- CHUI/MAG/Inventaris/LijstNietPickbareLocaties.cls.xml (revision 0) +++ CHUI/MAG/Inventaris/LijstNietPickbareLocaties.cls.xml (revision 2359) @@ -0,0 +1,84 @@ + + + +1 +%RegisteredObject +0 + + +1 +0 +61200 Date=$$CALCDATE^vhDTyp(Date,"A","+1"),Time=32400 + Set Tijdstip=Date_","_Time,Input="" + While Input="" { + Set FP=1801 + Write @F,@F1 + Set Input=$$ASK^vhINP(" Tijdstip : ",14,$$FormatDateTime^vhLib("dd-mm-yy hh:nn",Tijdstip)," Alle producten waarvan tot dit tijdstip meer moet gepicked worden dan er op"," pickbare lokaties staan") + Quit:Input="-" + Set Date=$P(Input," "),Time=$P(Input," ",2) + Do VALDATE^vhDTyp(Date) + If %TC Set Date=%INT + Else Set Input="" + Do VALTIME^vhDTyp(Time) + If %TC Set Time=%INT + Else Set Input="" + } + If Input="-" Set Tijdstip="-" + Else Set Tijdstip=##class(TECH.DateTime).HorologToTimeStamp(Date_","_Time) + + Do ..ToonLijst(Tijdstip) +]]> + + + +1 +BijladenTotTimeStamp:%TimeStamp +0 + + + + Index: vhUnitTest/APPS/MAG/UGLYPicking/TestUglyPickingService.cls.xml =================================================================== diff -u -r2322 -r2359 --- vhUnitTest/APPS/MAG/UGLYPicking/TestUglyPickingService.cls.xml (.../TestUglyPickingService.cls.xml) (revision 2322) +++ vhUnitTest/APPS/MAG/UGLYPicking/TestUglyPickingService.cls.xml (.../TestUglyPickingService.cls.xml) (revision 2359) @@ -15,7 +15,7 @@ %Status